如何使用SQL进行松散搜索

时间:2018-01-05 20:20:51

标签: php mysql sql mysqli

所以我尝试使用PHP和MySQL实现搜索功能,我遇到了LIKE SQL运算符,它适用于基本字符串匹配,但它寻找完全匹配。我想知道如何能够松散地搜索MySQL。

现在,如果您使用我的搜索功能搜索"蓝色夹克" ,那么它将与"非常漂亮的蓝色相匹配项目|护套" 即可。我希望能够匹配,任何建议?

我目前用于搜索的MySQLi代码如下所示:

$stmt = $conn->prepare("SELECT * FROM `items` where title LIKE CONCAT('%', ?, '%')");

1 个答案:

答案 0 :(得分:0)

在@Gordon Linoff和@Sammitch建议全文搜索之后,我进入phpmyadmin并将title列标记为全文,然后将SQL查询修改为:

$stmt = $conn->prepare("SELECT * FROM `items` WHERE MATCH(title) AGAINST ( ? IN NATURAL LANGUAGE MODE)");

欲了解更多信息:dev.mysql.com/doc/refman/5.7/en/fulltext-search.html