2015-12-27 79 views
1

我想要的日期時間插入到一個MySQL列,但我得到這個錯誤:錯誤插入日期時間到MySQL datetime列使用PHP

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 

下面是我用得到的代碼datetime並將其插入到「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; 
} 
+2

看跌行情。另外,可以考慮使用'timestamps' – Ohgodwhy

回答

2

你得到錯誤導致如下圖所示等DB引擎拋出一個錯誤假設你打算提供更多價值的日期時間值不是引用。

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

你需要使用單引號引用您的日期時間值像周圍`$ date`

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

就是這樣,謝謝!我不認爲它需要任何東西,因爲價格本來就沒有。 – Darkstar

1

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