所以我尝试使用 PHP 和 MySQL 实现搜索功能,我遇到了 LIKE
SQL 运算符,它对于基本字符串匹配效果很好,但它寻找的是精确匹配。我想知道如何使用 MySQL 进行松散搜索。
现在,如果您使用我的搜索功能搜索“蓝色夹克”,那么它不会与“非常漂亮的蓝色元素|夹克”匹配。我希望能够匹配它,有什么建议吗?
我当前的 MySQLi 搜索代码如下所示:
$stmt = $conn->prepare("SELECT * FROM `items` where title LIKE CONCAT('%', ?, '%')");
最佳答案
在 @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
关于php - 如何使用 SQL 进行松散搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120736/