【问题标题】:Error inserting datetime into mysql datetime column using PHP使用 PHP 将日期时间插入 mysql 日期时间列时出错
【发布时间】:2016-04-01 19:03:18
【问题描述】:

我正在尝试将日期时间插入 mysql 列,但出现此错误:

Error: INSERT INTO prices (priceLBTC, dt) VALUES (421.59, 2015-12-27 15:41:09) 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 '15:41:09)' at line 2

这是我用来获取日期时间并将其插入“dt”日期时间类型列的代码。

$dateTime = new DateTime();
$date = $dateTime->format('Y-m-d H:i:s');

$sql = "INSERT INTO prices (priceLBTC, dt)
VALUES ($bitcoinPrice, $date)";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

【问题讨论】:

  • $date 周围加上引号。或者,考虑使用timestamps

标签: php mysql datetime


【解决方案1】:

您收到错误,因为您的日期时间值没有被引用,如下所示,因此假设您打算提供更多值,数据库引擎会抛出错误。

INSERT INTO prices (priceLBTC, dt) VALUES (421.59, 2015-12-27 15:41:09)
                                                   ^.. Here

您需要使用单引号引用您的日期时间值,例如

INSERT INTO prices (priceLBTC, dt) VALUES (421.59, '2015-12-27 15:41:09')

【讨论】:

  • 就是这样,谢谢!我不认为它需要任何价格,因为最初没有价格。
【解决方案2】:

$sql = "INSERT INTO prices (priceLBTC, dt) VALUES (".$conn->quote($bitcoinPrice).", ".$conn->quote($date).")";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-17
    • 2013-07-26
    • 2012-01-23
    • 1970-01-01
    • 2013-06-16
    • 2016-01-21
    • 2011-02-25
    • 2016-08-20
    相关资源
    最近更新 更多