2012-01-14 81 views
0

我意識到這可能是一個絕對可怕的方式來做一個查詢,當然它不工作。重點在於根據日期範圍和關鍵字來選擇用戶。有很多條件的mysql查詢

$query = mysql_query("SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%' ORDER BY my_id"); 
+2

那麼你的問題是什麼? :) – 2012-01-14 16:49:22

回答

1

你缺少括號查詢

$query = mysql_query("SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND (my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%') ORDER BY my_id"); 
+2

@Gary我不會使用字符串插值($ ftimestamp,$ ttimestamp),因爲它受SQL注入的影響,您可能需要考慮使用PDO,以便可以使用佔位符。您可以在PHP手冊中找到所有這些信息。 – 2012-01-14 16:55:31

0

使用mysql_error()打印錯誤。

$query ="SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%' ORDER BY my_id"; 
$res= mysql_query($query) or die(mysql_error());