PDO:擷取最後插入的ID
在資料庫操作中,經常需要擷取表中最後插入的記錄的ID 。 PDO(PHP 資料物件)提供了透過 PDO::lastInsertId() 方法執行此操作的功能。
要取得最後插入的 ID,您需要執行 SQL INSERT 語句並使用 PDO::lastInsertId PDO 物件上的 () 方法。例如:
$stmt = $db->prepare("INSERT INTO `cell-place` (name) VALUES (?)"); $stmt->execute([$name]); $id = $db->lastInsertId();
在此範例中,$db 是 PDO 對象,$stmt 是準備好的語句,$name 是要插入的值。 PDO::lastInsertId() 方法傳回新插入記錄的自動遞增 ID。
如果您嘗試直接使用 LAST_INSERT_ID() 函數(如給定程式碼所示),您將遇到錯誤。這是因為 LAST_INSERT_ID() 是一個 SQL 函數,而不是 PHP 函數。要將其與 PDO 一起使用,您必須使用 PDO::lastInsertId() 方法。
或者,您可以使用直接 SQL 查詢來擷取最後插入的 ID:
$stmt = $db->query("SELECT LAST_INSERT_ID()"); $row = $stmt->fetch(PDO::FETCH_NUM); $lastId = $row[0];
此方法執行原始 SQL 查詢來擷取最後插入的 ID。它的效率比使用 PDO::lastInsertId() 低,但如果您有複雜的 SQL 查詢需要手動執行 ID 檢索,它會很有用。
以上是如何在 PHP 中使用 PDO 檢索最後插入的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!