2013-01-25 51 views
2

如何插入MySQL中CURDATE()CURTIME()插入CURDATE()和CURTIME()在MySQL(PHP)

我將它們插入日期和時間窗口,分別在數據庫表。

$query = "INSERT INTO `ordisp` (date, time, operator, status, completed, name, email) VALUES (CURDATE(), CURTIME(), '".$operator."', '".$status."', '".$complete."', '".$name."', '".$email."')"; 

爲什麼不能正常工作?

+1

什麼我沒有工作?你有什麼錯誤嗎?這可能是因爲你的尾隨','?或者也許是因爲保留字的用法? –

+1

請把您在使用上述代碼 –

回答

3

datetime是mysql的保留字,因此應該用反引號引用以避免與保留字衝突。

"INSERT INTO `ordisp` (`date`, `time`, operator, .... 
+2

我不這麼認爲出現錯誤。請參閱官方MySql文檔中的[this](http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html)。請更新你的答案它被向下投票之前。 –

+1

'date'和'time'不是保留字。見http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html – MrCode

+0

我使用的MySQL 5.0,而不是5.5。反引號固定它。感謝用戶! –

6

你有一個語法錯誤 - 在查詢結束一個逗號:

'".$name."', '".$email."',)"; 
         ^here 

刪除它,所以完整的查詢變爲:

$query = "INSERT INTO `ordisp` (date, time, operator, status, completed, name, email) VALUES (CURDATE(), CURTIME(), '".$operator."', '".$status."', '".$complete."', '".$name."', '".$email."')"; 

對於未來的調試,你必須看看MySQL的錯誤,它會給你一個問題的描述,例如未知的字段/表名或語法錯誤等等。