MySQL QUERY“LIKE”什么都不返回

时间:2013-01-23 04:50:22

标签: php mysql select sql-like

我正在使用MySQL 5.0.51a和PHP来访问数据库,当它返回至少2行与LIKE条件匹配时,此查询不返回任何内容。

$result = mysql_query("SELECT * FROM user WHERE name LIKE '%".$search."%'OR email LIKE    '%".$search."%' ORDER BY ".$order, $con);

$ search 变量为'名称',

ORDER,$ order或$ con没有问题,我已经尝试过了,有两行名称是'Name',但不知怎的,它找不到那些行,也没有返回任何内容。

有人知道问题在哪里吗?

3 个答案:

答案 0 :(得分:1)

尝试删除双逗号

$result = mysql_query("
                    SELECT 
                        * 
                    FROM user 
                    WHERE name LIKE '%{$search}%' OR email LIKE '%{$search}%' 
                    ORDER BY ".$order, $con);

答案 1 :(得分:0)

主要是语法,正如其他人所指出的,这是另一种方式:

$result = mysql_query(" SELECT * FROM user 
WHERE '%{$search}%' IN (name, email )
 ORDER BY ".$order.','. $con)
;

答案 2 :(得分:-1)

请尝试此查询:

$result = mysql_query("SELECT * FROM user WHERE name LIKE '%".$search."%'
OR email LIKE '%".$search."%' 
ORDER BY ".$order.','.$con);
相关问题