php - PDO 获取最后插入的 ID

标签 php mysql database pdo

我有一个查询,我想获取最后插入的 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/

相关文章:

php - 在 Laravel 中使用 Eloquent ORM 使用 'not regexp' 执行数据库搜索

php - 大型表单 = 大型 PHP/mySql 查询字符串...有好的解决方案吗?

php - codeigniter 多个 or where,忽略 where not

sql-server - 使用其他表中的数据创建计算字段

c# - ORA-01722 : invalid number on INSERT in C# - Oracle 11g

javascript - 如何从ajax获取php对象

PHP MySQL 从 Require() 文件获取连接

java - Java访问Web服务时URL和URI的区别

php - Laravel队列-在特定条件下防止作业重试

php - 数据未插入但没有错误 PHP 使用 bind_param