我使用以下mysql查询来搜索我的常见问题解答:
$raw_results = mysql_query("SELECT * FROM faq
WHERE (`question` LIKE '%".$search."%') OR (`answer` LIKE '%".$search."%')") or die(mysql_error());
(是的,我知道我应该使用PDO)
当我搜索" design"例如,它返回带有单词design的问题\答案。示例结果:"如何开始设计过程?"。这是完美的,但如果我搜索"创建一个设计"没有找到结果,这是不合适的,因为它没有搜索每个单词"创建" ""设计&#34 ;.即使这个问题得到解决,也会产生另一个问题,php需要省略我假设少于4个字符的单词以防止"如何" "做" " I"返回mysql数据库中的每个FAQ结果。
编辑:我可以使用preg_replace轻松删除少于4个字符的单词。
答案 0 :(得分:0)
我假设您希望您的$ search为:
(question
LIKE'%创建%'和question
LIKE'%a%'和question
LIKE'%design%')或(answer
LIKE'%创建%'和answer
LIKE'%a%'和answer
LIKE'%design%')
这将为包含所有单词而不是完整短语的字符串提供“%create a design%”
的结果