警告:mysql_num_rows()期望参数1是资源,布尔值是?

时间:2014-02-02 21:07:28

标签: php

我正在尝试使用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但我不太确定。但请告诉我可能导致出现此警告消息的原因。

1 个答案:

答案 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");