我有這樣的代碼中插入一個新行到MySQL數據庫使用PDO:PDO插入查詢不工作的整數
$query = INSERT INTO asset_positions (pos_asset_id, pos_latitude, pos_longitude, pos_timestamp) VALUES (:pos_asset_id, :pos_latitude, :pos_longitude, :pos_timestamp)
$statement = $pdo->prepare($query);
$array = [':pos_asset_id' => 1, ':pos_latitude' => -8.5, ':pos_longitude' => 125.5, ':pos_timestamp' => 1398160487];
$statement->execute($array);
echo $pdo->lastInsertId();
查詢運行沒有表現出任何差錯。新插入的行ID被回顯。但是,當我查看數據庫時,它只會插入緯度,經度和時間戳。新插入的行中的pos_asset_id字段爲空。
難道有人指出問題在哪裏?沒有顯示錯誤消息。我一直試圖解決這個問題幾個小時沒有用。
Ps。這是我第一次使用PDO,請耐心等待。謝謝。
編輯
解決了!我沒有注意到asset_positions.pos_asset_id和asset.asset_id之間存在FK關係。一旦我刪除了這種關係限制,INSERT現在可以正常工作,pos_asset_id值被插入到記錄中。
無論如何,謝謝大家! :)
校驗字段類型。 PDO無事可做 –
@YourCommonSense,完全同意你的看法。 只需檢查您的數據庫字段類型。 – KinjalMistry
pos_asset_id的字段類型是int(11)。我嘗試將字段類型更改爲varchar(11),但它仍未插入。 – shinega