进入mySQL数据库的PHP日期无法按计划运行

时间:2011-06-06 02:26:13

标签: php mysql datetime time

所以我一直试图独自解决这个问题几个小时,这让我发疯了。

我只是想在mySQL数据库中输入日期,代码如下:

$timeStarted = date("Y-m-d H:i:s", time());
$sqlquery = "INSERT INTO deviceStats (currTime, ...) VALUES ($timeStarted, ...)";
mysql_query($sqlquery);
echo $timeStarted;

我的ajax返回告诉我$ timeStarted属于propper格式,它给出了正确的时间,但是如果我在查询中有这个变量,它就不会运行。数据库中的currTime字段设置为datetime,因此它应该可以工作。

2 个答案:

答案 0 :(得分:3)

为什么不直接使用NOW()?

$sqlquery = "INSERT INTO deviceStats (currTime, ...) VALUES (NOW(), ...);

答案 1 :(得分:2)

你的问题是MySQL中的日期字符串正好是字符串,因此必须引用(单引号)或最好作为参数传递。

使用PDO,这很简单

$stmt = $pdo->prepare('INSERT INTO `deviceStats` (`currTime`, ...) VALUES (?, ...)');
$ts = date('Y-m-d H:i:s');
$stmt->bindParam(1, $ts);
$stmt->execute();
echo $ts;