php - MySql,搜索具有 bool 模式两个关键字的列

标签 php mysql

我为我的网站制作了一个搜索系统。

假设数据库中有 5 条数据。

  1. 苹果 MacBook Air 评测
  2. 苹果 iMac 评测
  3. 苹果 iPhone 评测
  4. iPhone 4 拆箱评论
  5. iPhone 越狱评测

用户在搜索输入中键入“iphone review”。

我想显示这样的结果

  1. Apple iPhone 评测
  2. iPhone 4 拆箱评测
  3. iPhone越狱审核

我可以成功地破解搜索词并使用 bool 模式。

SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('iphone* review*' IN BOOLEAN MODE)

但是不会像上面那样显示结果。

它搜索包含 iPhone 或评论词的数据。

你能帮我解决这个问题吗?

最佳答案

您必须在单词前面使用 + 符号,以确保它出现在每次点击中。

SELECT * FROM BOOKMARK WHERE MATCH title AGAINST ('+iphone +review' IN BOOLEAN MODE)

有关更多信息,请参阅manual

关于php - MySql,搜索具有 bool 模式两个关键字的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10010271/

相关文章:

php - 为始终不同的变量插入语句

javascript - 如果添加播放列表,jwplayer 播放器将无法工作

php - 创建表sql失败

Mysql拉一个计数,并按该计数分组

mysql - MySQL中的errno 150无法创建表

php - 逗号分隔区域设置的微秒损失

php - 把 php 放在 javascript 里面,也就是 php 里面

php - 单个数字的正则表达式捕获两位数?

MySQL:仅获取非空列

mysql - 通过odbc和excel调用mysql