檢索最後插入的行以與其他表關聯
插入多個表時,通常需要將插入的記錄與另一個表關聯表使用其ID。在這種情況下,檢索最後插入的行的 ID 就變得至關重要。然而,直接使用 $mysqli->insert_id 可能會導致錯誤的結果。
解決方案:
要正確檢索最後插入的 ID,需要使用 mysqli_insert_id () 功能。此函數提供插入目前資料庫連接的最後一行的 ID。以下修正後的程式碼示範了其用法:
<br>$stmt = $mysqli->prepare("<br> INSERT INTO table1 (username,firstname,lastname,image)<br>從table2 t2 中選擇?,?,?,image FROM table2 t2 WHERE username = ?<br>");<br>$stmt->bind_param('ssss', $username, $fname, $lname, $username);<br>$stmt->execute();<p> $last_id = mysqli_insert_id($conn); // 檢索最後插入的ID</p><p>// 使用檢索到的ID 更新table1 中的image 欄<br>$stmt2 = $mysqli->prepare("<br> UPDATE table1 SET image = ? WHERE id = ?<br>" );<br>$stmt2->bind_param('si', $image, $last_id);<br>$stmt2->execute();<br></p>
注意:確保table2中的ID欄位有AUTO_INCRMENT 屬性為每個插入的行產生唯一的ID 值。
以上是如何在MySQL中可靠地檢索多表關聯中最後插入的行ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!