0

这可能是一个非常愚蠢的问题。但是我是 mysql 新手,没有太多经验。

我想创建一个全文搜索,在多个列中搜索一个字符串。我在互联网上找到了 Match and Against 的方法并进行了尝试。

这就是我留下的:

$value = $_POST['value'];

$rechnung_search = mysql_query("SELECT * FROM testTable WHERE MATCH(`name`,`food`) AGAINST ('$value')");
while($row = mysql_fetch_array($testTable_search)){
    echo $row['name'];
    echo $row['food'];
}

使用此代码,我收到一个错误,称为:

Warning: mysql_fetch_array() expects parameter 1 to be resource

据我所知,如果查询中有错误信息,则会出现此错误。但是我不知道错误的信息是什么。所有列都存在。我做错了什么?

感谢您的阅读!希望你能帮我解决这个问题。

4

1 回答 1

0

像这样的东西

SELECT * FROM table WHERE MATCH (field1, field2, field3, field4) 
                          AGAINST ('keyword' IN BOOLEAN MODE)

请使用 mysqli_* 而不是 mysql_ 。因为 mysql_在 PHP7 中被删除了。

此外,您的代码中有错误。代替

while($row = mysql_fetch_array($testTable_search))

它应该是

while($row = mysql_fetch_array($rechnung_search))
于 2016-02-07T19:09:40.690 回答