使用“mysqli_insert_id”检索上次插入 ID 以进行跨表插入
您正在尝试将图像与另一个表中的数据关联。为此,您需要检索插入到第一个表中的最后一行,并使用其 ID 在第二个表中执行插入。但是,您用来获取最后插入 ID 的方法不起作用。
解决方案:
使用 MySQLi 接口检索最后插入 ID 的正确语法是 mysqli_insert_id($conn)。然后,您可以使用此 ID 绑定到插入语句。
这是代码的更正版本:
$last_id = mysqli_insert_id($mysqli); // Get the last inserted ID $stmt = $mysqli->prepare(" INSERT INTO table1 (username, firstname, lastname, image) SELECT ?,?,?,image FROM table2 t2 WHERE username = ? AND t2.id = ? "); $stmt->bind_param('sssss', $username, $fname, $lname, $username, $last_id); $stmt->execute();
其他注意事项:
确保第一个表中的ID字段是自增字段。这可确保每次插入行时都会生成唯一的 ID。
以上是如何在MySQLi中检索最后插入的ID以进行跨表插入?的详细内容。更多信息请关注PHP中文网其他相关文章!