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中文网其他相关文章!