Mysql_num_rows()期望参数1是resource, Boolean给出


mysql_num_rows() expects parameter 1 to be resource, boolean given in

我正在我的网站内建立一个搜索。我对DB有意见。它给了我这个:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:'Program Files (x86)'EasyPHP-5.3.5.0'www'searchscript'search.php on line 86

我将向您展示给出这种错误的代码部分

line 82: $query = "SELECT * FROM dreams WHERE titolo,titch LIKE '"%$trimmed%'" ORDER BY id_dreams DESC "; 
line 85: $numresults=mysql_query($query);
line 86: $numrows=mysql_num_rows($numresults); //error

现在我试着看看查询背后的问题是什么,它告诉我这个:

SELECT * FROM dreams WHERE titolo, titch LIKE "%tags%" ORDER BY id_dreams DESC 

你的SQL语法有错误;查看MySQL服务器版本对应的手册,以获取使用"LIKE"标签的正确语法。ORDER BY id_dreams DESC' at line 1

背后的代码是:

$query = "SELECT * FROM dreams WHERE titolo, titch LIKE '"%$trimmed%'" ORDER BY id_dreams DESC "; 
$result = mysql_query($query) or die($query."<br/><br/>".mysql_error());

mysql_query返回一个布尔值,这意味着sql查询可能失败,您将获得一个错误的返回值,而不是mysql资源。

你检查过你的查询了吗?

您忘记检查$num_results是否是MySQL结果资源。在这种情况下,您的查询错误,所以它是FALSE代替。

重新阅读mysql_query的文档,并确保您的程序针对所有可能的情况。