首页 文章

使用Match和Against进行Mysql全文搜索

提问于
浏览
0

这可能是一个非常愚蠢的问题 . 然而我新的与mysql并没有那么多的经验 .

我想创建一个全文搜索,在多列中搜索字符串 . 我在互联网上找到了匹配和反对的方式,并尝试了它 .

多数民众赞成我离开时:

$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

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

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

1 回答

  • 0

    像这样的东西

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

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

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

    while($row = mysql_fetch_array($testTable_search))
    

    它应该是

    while($row = mysql_fetch_array($rechnung_search))
    

相关问题