0

可能重复:
警告:mysql_fetch_* 期望参数 1 是资源,布尔给定错误

我正在尝试在 mySQL 中编写全文搜索查询,但遇到了一些麻烦。

我的数据库中的一个示例关键字单元格包含一堆字符串(例如:“bags 填充动物玩具苹果”)。我 100% 确定“玩具”是我在数据库中的一个项目的关键字之一。为什么下面的搜索查询没有返回任何结果?

这是我尝试使用的查询:

$results = mysql_query("SELECT keywords,name FROM files WHERE 
                         MATCH (keywords) AGAINST ('+toys') IN BOOLEAN MODE");

我收到以下错误:

Warning: mysql_fetch_array() expects parameter 1 to be 
resource, boolean given in C:\xampp\...etc...\ on line 192
4

1 回答 1

1

您的查询失败并返回布尔值 false,您在 fetch 调用中盲目使用该值。这意味着您的查询逻辑中没有错误处理。将您的查询调用更改为

$results = mysql_query('SELECT yada yada yada') or die(mysql_error());
                                               ^^^^^^^^^^^^^^^^^^^^^^

这样您就可以确切地看到查询的问题所在。

永远不要假设数据库操作成功。即使您的 SQL 语法完全有效,也有太多其他原因导致无法检查。

于 2012-05-19T19:37:54.433 回答