一尘不染

PDO获取最后插入的ID

mysql

我有一个查询,我想插入最后一个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()

我究竟做错了什么?


阅读 850

收藏
2020-05-17

共1个答案

一尘不染

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

喜欢:

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

如果要使用SQL而不是PDO API进行操作,则可以像普通的select查询一样进行操作:

$stmt = $db->query("SELECT LAST_INSERT_ID()");
$lastId = $stmt->fetchColumn();
2020-05-17