我正在使用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',但不知怎的,它找不到那些行,也没有返回任何内容。
有人知道问题在哪里吗?
答案 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);