所以我一直试图独自解决这个问题几个小时,这让我发疯了。
我只是想在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,因此它应该可以工作。
答案 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;