2013-01-23 233 views
0

我使用MySQL版本5.0.51a和PHP來訪問數據庫,並且此查詢在返回至少2行匹配LIKE條件時不返回任何內容。MySQL QUERY「LIKE」不返回任何內容

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

$搜索變量是 '名稱',

存在與ORDER,$秩序還是沒有問題$騙子,我已經試過了,並且有2行,其中該名稱是'名稱',但不知何故,它找不到這些行,它什麼都沒有返回。

有人知道問題在哪裏嗎?

+0

你的$搜索變量是否合適? –

+0

也迴應你的$訂單 – kabuto178

+0

你試過沒有%運算符 –

回答

1

嘗試去掉雙逗號

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

這個工作,坦克很多。 –

0

請嘗試此查詢:

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

@neeraj似乎你沒有看到關閉(','),是的它是寫我只是連接字符串 – sandip

+0

有。在逗號之前,但是你的實際字符串正在雙引號內「」 – neeraj

0

它主要是對語法,正如其他人所指出的,這裏是另一種方式:

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