我正在尝试使用PHP登录系统,但是当我故意尝试使用不正确的凭据登录时,会出现此错误消息:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in ...
当有人输入错误的凭据时,我想要回复的消息,但它出现在警告消息下方。这些是与导致出现警告消息的代码行相关联的代码行:
$query = mysql_query("SELECT * FROM users WHERE username='$user'");
if ($numrows == 1){
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$dbuser = $row['username'];
$dbpass = $row['password'];
$dbactive = $row['active'];
这是实际的代码行本身:
$numrows = mysql_num_rows($query);
我可能需要编辑问题以添加更多行代码,如果我这样做,请告诉我。此问题也许可能是这篇文章的重复:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in但我不太确定。但请告诉我可能导致出现此警告消息的原因。
答案 0 :(得分:5)
如果mysql_query
返回false,则为布尔值,因此您需要先将其检查,然后再将其传递给mysql_num_rows
$query = mysql_query("SELECT * FROM users WHERE username='$user'");
if($query)
$numrows = mysql_num_rows($query);
else
die("something failed");