繁体   English   中英

mysql搜索多个关键词

[英]mysql search with multiple keywords touching

$sql ="
        SELECT * FROM table

        WHERE $email_filter lower(table.synopsis) like '% $search_word_fix %'
        OR lower(table.sp_name) like '% $search_word_fix %'    
        GROUP by table.sp_name  
        ORDER BY table.grade DESC
        ";
    $re=mysql_query($sql);

因此,我有一个简单的sql查询,例如,如果我搜索2个单词:Hello World,则返回两个单词的结果:hello。 这个单词的结果:world我试图让它返回“ hello word”:where table.field ='$ keyword'我得到:没有结果。 我打开了phpmyadmin,并且我知道有结果。 任何帮助表示赞赏。谢谢

更改=的LIKE,=强制单词绝对

尝试:

$sql ="
    SELECT * FROM table

    WHERE $email_filter lower(table.synopsis) REGEXP '[[:<:]]$search_word_fix[[:>:]]' = 1

    OR lower(table.sp_name) REGEXP '[[:<:]]$search_word_fix[[:>:]]' = 1
    GROUP by table.sp_name  
    ORDER BY table.grade DESC
    ";

希望能帮助到你

尝试删除该%符号。 所以like查询看起来像

like '$search_word_fix'
WHERE table.field LIKE '%Hello world%'

要么

WHERE table.field LIKE '%Hello%world%'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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