我有一个查询,我想插入最后一个 ID。字段 ID 是主键并且自动递增。

我知道我必须使用这个语句:

LAST_INSERT_ID()

该语句适用于这样的查询:
$query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())";

但是,如果我想使用此语句获取 ID:
$ID = LAST_INSERT_ID();

我收到此错误:
Fatal error: Call to undefined function LAST_INSERT_ID()

我究竟做错了什么?

最佳答案

那是因为那是一个 SQL 函数,而不是 PHP。您可以使用 PDO::lastInsertId()

像:

$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();

如果你想用 SQL 而不是 PDO API 来做,你可以像普通的选择查询一样做:
$stmt = $db->query("SELECT LAST_INSERT_ID()");
$lastId = $stmt->fetchColumn();

关于php - PDO 获取最后插入的 ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10680943/

10-16 16:22