0

我正在使用 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 没有问题,我已经尝试过了,并且有 2 行名称为“Name”,但不知何故它找不到这些行并且它什么也不返回。

有谁知道问题出在哪里?

4

3 回答 3

1

尝试删除双逗号

$result = mysql_query("
                    SELECT 
                        * 
                    FROM user 
                    WHERE name LIKE '%{$search}%' OR email LIKE '%{$search}%' 
                    ORDER BY ".$order, $con);
于 2013-01-23T05:36:07.300 回答
0

正如其他人指出的那样,它主要取决于语法,这是另一种方式:

$result = mysql_query(" SELECT * FROM user 
WHERE '%{$search}%' IN (name, email )
 ORDER BY ".$order.','. $con)
;
于 2013-01-23T06:07:40.700 回答
-1

请尝试以下查询:

$result = mysql_query("SELECT * FROM user WHERE name LIKE '%".$search."%'
OR email LIKE '%".$search."%' 
ORDER BY ".$order.','.$con);
于 2013-01-23T05:00:20.267 回答