2012-11-12 102 views
0

我有這段代碼,我用它比較時間戳字段與我之前選擇的日期! 但我得到一個語法錯誤.. Howcome?問題與查詢中的時間戳

$query = sprintf('SELECT * FROM coupon WHERE date("Y-m-d", "time") = $date'); 

的錯誤是:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' "time") = $date' at line 1 

雖然,我是比較時間戳這是場時間,而這是在提前$date 感謝的日期..

+0

後的誤差。還提供更多關於如何/爲什麼要比較這些字段的信息。 –

+0

編輯了這個問題:) – TMA

回答

1

time應不被引用,因爲它是一個字段引用,而不是string literal

$query = sprintf('SELECT * FROM coupon WHERE DATE(time) = $date'); 

注:你很容易受到SQL Injection

+0

雖然我仍然得到這個錯誤... 你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第1行的'time'= $ date'附近使用正確的語法。 – TMA

+0

我的錯。 'DATE()'不採用格式。查看更新。 –

+0

謝謝,我想它可行,但是,現在告訴我這是否有意義? 'where子句'中的未知列'$ date' – TMA