Php 警告:mysql_num_rows()要求参数1为资源,给定布尔值

Php 警告:mysql_num_rows()要求参数1为资源,给定布尔值,php,mysql,Php,Mysql,每当我运行此操作时,都会出现此错误: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given 守则: $amn = mysql_query("SELECT * FROM `Messages` WHERE to_user='$usr' AND read='0'"); print_r(mysql_num_rows($amn)); 这是因为mysql_查询有时返回布尔值false(查询错误)。您需要检查

每当我运行此操作时,都会出现此错误:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given
守则:

$amn = mysql_query("SELECT * FROM `Messages` WHERE to_user='$usr' AND read='0'");
print_r(mysql_num_rows($amn));

这是因为mysql_查询有时返回布尔值false(查询错误)。您需要检查它:

$amn = mysql_query("SELECT * FROM `Messages` WHERE to_user='$usr' AND read='0'");

if($amn === false) {
    var_dump(mysql_error());
}
else {
    print_r(mysql_num_rows($amn));
}

上面的代码是用错误的样式编写的,不推荐使用。在实际项目中使用PDO,但有例外。

我猜您的mysql\u查询返回false,可能是因为您查询的“消息”位上有奇怪的引号。

向右看。随便挑一个。这个问题已经被回答了很多次了。看起来我们看到的越来越多。上周每天至少2-3次。和。。。。公元nauseum@Michael:更多的堆栈溢出趋势从“关于编程语言的问题”存储库转变为“请修复我的代码”讨论板。不幸的是,我认为到目前为止的共识是,我们所能做的就是继续浪费我们的时间进行向下投票和接近投票。我似乎找不到任何有帮助的东西。“奇怪的引语”?这些都是反勾号,用它们来分隔字段名是正确的。嗯。。。我不知道。谢谢