0

MySQL バージョン 5.0.51a と PHP を使用してデータベースにアクセスしていますが、このクエリは、LIKE 条件に一致する行を少なくとも 2 行返す必要があるときに何も返しません。

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

$search変数は「Name

ORDER、$order、または $con に問題はありません。既に試しましたが、名前が「Name」の行が 2 つありますが、どういうわけかそれらの行が見つからず、何も返されません。

問題がどこにあるか誰か知っていますか?

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 に答える