Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多关键字mysql搜索_Php_Mysql_Sql - Fatal编程技术网

Php 多关键字mysql搜索

Php 多关键字mysql搜索,php,mysql,sql,Php,Mysql,Sql,所以我有一个简单的sql查询,如果我搜索两个单词,例如:Hello World 它返回两个单词的结果:hello。“世界”一词的含义和结果 我试图让它只返回“hello word” 如果使用:where table.field='$keyword' 我得到:没有结果。我打开了phpmyadmin,我知道有结果。 感谢您提供的任何帮助。谢谢您将类似的更改为=,将=强制该单词绝对地尝试: $sql =" SELECT * FROM table WHERE $emai

所以我有一个简单的sql查询,如果我搜索两个单词,例如:Hello World 它返回两个单词的结果:hello。“世界”一词的含义和结果 我试图让它只返回“hello word” 如果使用:where table.field='$keyword' 我得到:没有结果。我打开了phpmyadmin,我知道有结果。
感谢您提供的任何帮助。谢谢您

将类似的更改为=,将=强制该单词绝对地

尝试:

$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=”
从表中选择*
其中$email_filter lower(table.synosis)REGEXP'[[::]]'=1
或更低(table.sp_name)REGEXP'[[::]]'=1
按表分组。sp_名称
按表订购。等级描述
";

希望有帮助

尝试删除该%符号。所以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
    ";


也许DISTINCT sql语句有助于您使用DISTINCT,它将返回所有结果。例如,如果它是一个段落:“你好,我的名字是布拉,我生活在这个世界上。”将是一个结果。我只想它的关键字是触摸,所以必须像“你好世界!”或“你好世界布拉布拉布拉”的东西是一个大小写敏感的问题?(你的MySQL实例是否启用了区分大小写的功能?)(既然你使用的是lower,那么搜索词是否都是lower?)。。。等一下。。您正在搜索$search\u word\u Fix。不是“%”“$search\u word\u fix。”“%”是SQL搜索变量名而不是其值的问题吗?它确实返回了很好的结果。如果我搜索姓名、头衔等。。。唯一的问题是多关键字。
like '$search_word_fix'
WHERE table.field LIKE '%Hello world%'
WHERE table.field LIKE '%Hello%world%'