0

我目前正在使用 tinyint 在 mysql 中存储布尔值,并且正在尝试查询数据库但它失败了。我得到的错误是Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given,如果我没记错的话,这意味着查询不起作用。在我发布查询之前,让我说我正在使用实际上已弃用的 php 进行查询,但是它不会上线,我只需要它能够真正快速地工作。我知道这些东西都在更新,所以随时分享任何相关材料(我确实需要按原样赶上)但是我正在寻找的解决方案是针对我的老学校查询。查询是:

$sql = mysql_query("SELECT * FROM contact ORDER BY id ASC WHERE read='0'");

其中 read 是相关的 tinyint。

我已经尝试WHERE read=0WHERE read=false

这些都不起作用,我提前感谢任何帮助!

4

1 回答 1

4

您需要正确构造查询:

"SELECT * FROM contact WHERE read=0 ORDER BY id ASC"

WHERE 在 ORDER BY 之前出现。

此外,“mysql_num_rows() 期望参数 1 是资源”正在发生,因为您正在对失败的查询调用方法 - 而不是资源。您可能会在查询本身上遇到正确的错误,例如mysql_query("SELECT... your query") or die(mysql_error())但正式我们都建议转移到PDOmysqli 并使用它们各自的错误报告实用程序。

于 2012-11-29T20:30:41.707 回答