我有一个查询,我想插入最后一个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()。
PDO::lastInsertId()
喜欢:
$stmt = $db->prepare("..."); $stmt->execute(); $id = $db->lastInsertId();
如果要使用SQL而不是PDO API进行操作,则可以像普通的select查询一样进行操作:
$stmt = $db->query("SELECT LAST_INSERT_ID()"); $lastId = $stmt->fetchColumn();