我正在使用PDO準備語句來插入值。其中一個值是日期,有時可能是空的。在MySQL架構中,日期列被設置爲允許NULL值。如何使用PDO將空字符串插入日期列?
我們假設date_column是一個日期,它允許NULL。當我這樣做:
$query = "INSERT INTO tbl(date_column) VALUES(?)";
$stmt = $pdo->prepare($query);
$stmt->execute(['']);
這是給我這個錯誤:
SQLSTATE [22007]:無效的日期時間格式:1292不正確的日期值: '在行' 列 'date_column' 1
在phpMyAdmin中,我可以執行這個查詢沒有錯誤。它集日至0000-00-00
INSERT INTO tbl(date_column) VALUES('')
是不是由PDO在上面的代碼示例在幕後執行相同的查詢?怎麼了?
我想要的是能夠插入空字符串''作爲日期沒有錯誤。如果它被設置爲0000-00-00
如果字符串爲空 - 不要插入它。 –
@u_mulder上面的查詢只是一個例子。我遇到問題的實際查詢插入許多值。 – marmita