[英]php mysql search data with multiple keywords
I currently have my query to have LIKE('%keyterm%')
. 我目前在查询中拥有
LIKE('%keyterm%')
。 It works fine if my data has one keyboard typed. 如果我的数据输入了一个键盘,它将可以正常工作。 But what if I want to type in two keywords.
但是,如果我想输入两个关键字怎么办? Then it will return false.
然后它将返回false。
Example: 例:
keyword : rock climbing
data in mysql: Rock Day Free Climb
This phrase should come out because it has Rock and Climb but it seems like LIKE is not enough? 这句话应该站出来,因为它有岩 爬 ,但它好像喜欢的是还不够吗?
What else would I need to get that query? 我还需要什么来查询?
Thanks! 谢谢!
You'll need to split on the whitespace and have a LIKE('%keyterm%')
statement for each. 您需要在
LIKE('%keyterm%')
进行分割,并为每个空格都具有LIKE('%keyterm%')
语句。 See php.net/explode 见php.net/explode
Return results containing either keyword1 or keyword2: 返回包含keyword1或keyword2的结果:
SELECT * FROM table WHERE data LIKE '%keyword1%' OR data LIKE '%keyword2%';
Return results containing both keyword1 and keyword2: 返回同时包含keyword1和keyword2的结果:
SELECT * FROM table WHERE data LIKE '%keyword1%' AND data LIKE '%keyword2%';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.