2012-11-19 89 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

相关问题