2012-11-19 71 views
0

我有日期我有一個字符串日期時間我想插入到我的數據庫,但我似乎得到一個語法錯誤,這樣做

$date = '2012-11-18 23:15:12'; 

的字符串,我想將其插入到我的數據庫。

create table A (
    t_date datetime 
); 

,但它似乎沒有工作時,我說

$q = "insert into A (t_date) values ('".$date."')"; 
mysql_query($q) or die("Error: ".mysql_error()); 

但是當我做到這一點,它返回與$日期和查詢時出現錯誤。

我應該使用時間戳而不是日期時間嗎?我將如何使它正確插入?

Error: 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 ''2012-11-18 23:15:12')' at line 1[roo 
+2

什麼是確切的錯誤信息? – 2012-11-19 02:02:31

+2

一般提示:如果您收到錯誤消息並提及獲取該錯誤消息,請告知我們錯誤消息是什麼。你在這裏發佈的代碼很好。 –

+0

測試過,[沒有錯誤](http://sqlfiddle.com/#!2/5e282/1)。 – nickb

回答

0

存儲當前日期爲字符串使用CURDATE做的工作爲你在MySQL而不是:

的錯誤。

$q = "INSERT INTO A (col_name, col_date) VALUE ('DATETIME: Auto CURDATE()', CURDATE())"; 
mysql_query($q) or die("Error: ".mysql_error()); 

查看此鏈接瞭解MySQL中日期時間功能的列表。 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_curdate

+0

我看到了這個例子,它對我沒有太大的意義,否則我不會問這個問題 – Fallenreaper

+0

更重要的是,也許OP沒有*打算*插入當前的日期/時間?PS:我的首選是使用* SQL *來插入日期(例如'NOW()')。* server *管理「now」通常比client更好,尤其如此如果你碰巧在多個時區有多個客戶端,這裏肯定不是這種情況 - 但絕對是一種很好的做法,恕我直言...... – paulsm4

+0

不,絕對不是,有一個XML文檔,它有一個日期時間作爲事務的一部分。 ...我想跟蹤日期時間,我s由於某種原因,過去1個月內 – Fallenreaper

相關問題