简体   繁体   English

PHP MySQL的搜索数据与多个关键字

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM