错误未在登录表单中输出 [英] error not outputting in login form

查看:48
本文介绍了错误未在登录表单中输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码是

$query = "USE `davidedwardcakes`";
$result = mysql_query($query, $connect);
if(!isset($result)){echo 'no' .  mysql_error();}


$query = "SELECT * FROM `users` WHERE uname = '$uname'";
$result2 = mysql_query($query, $connect);
if(!$result2){echo 'wrong username or password' . mysql_error(); var_dump($result2);}
while($row = mysql_fetch_array($result2))
{echo $row['uname'] . $row['pass']; var_dump($result2);}

echo 'submited';

我正在尝试创建一个登录表单,但是每当我使用空白表单执行它时,我都没有得到任何错误输出.请帮忙.

I am trying to create a login form but i do not get any error output whenever i execute it with blank forms. Help please.

推荐答案

这是因为如果 $uname 为空字符串,查询仍然会成功运行.它只会有一个零行结果集.因此,您在何处执行此操作:

It is because the query will still run successfully if $uname is an empty string. It will just have a zero-row result set. As such, where you do this:

if(!$result2){echo 'wrong username or password' . mysql_error(); var_dump($result2);}

$result2 将有一个真值,您在条件中的代码将不会执行.

$result2 will have a truthy value and your code in the conditional will not execute.

您应该检查 mysql_num_rows() 以确定您是否有一个非空的结果集.

You should check mysql_num_rows() to determine if you have a non-empty result set.

顺便说一句,没有理由运行实际的mysql_query() 来选择要使用的数据库.mysql_select_db() 可用于此目的.

By the way, there is no reason to run an actual mysql_query() to select the DB to use. mysql_select_db() can be used for this purpose.

话虽如此,您应该使用 mysqliPDO 而不是 mysql.

That being said, you should be using mysqli or PDO instead of mysql.

这篇关于错误未在登录表单中输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆