簡體   English   中英

PDO插入查詢不適用於整數

[英]PDO Insert Query Not Working For Integer

我有以下代碼使用PDO將新行插入MySQL數據庫:

$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字段為空。

有人可以指出問題出在哪里嗎? 沒有顯示錯誤信息。 我一直在努力解決這一問題,無濟於事。

附言 這是我第一次使用PDO,請多多包涵。 謝謝。

編輯

解決了! 我沒有注意到asset_positions.pos_asset_idasset.asset_id之間存在FK關系。 一旦消除了這種關系約束,INSERT現在即可正常工作,將pos_asset_id值插入到記錄中。

無論如何,謝謝大家! :)

嘗試運行時捕獲錯誤,它將使您對正在發生的事情有更好的了解。

try {
   $stmt->execute();
} catch (PDOException $p) {
    echo $p->getMessage();
} catch (Exception $e) {
    echo $e->getMessage();
}

但是您的常識和user3540050是正確的...這可能是與列相關的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM