php - 获取刚刚用mysql准备好的语句添加的记录ID

标签 php mysql pdo prepared-statement

我使用 PDO 插入一条记录,并将结果保存在 $result 中,我将其用作 bool 值

$result = $addRecord->execute();

if ($result){ 
   //add successful
} else {
   //add unsuccessful
}

我还想获取刚刚添加的记录id。在表中,每条记录都有一个名为 idauto_incremented 字段。我尝试这样做

$new_id = $result['id'];

但似乎$result实际上并没有保存添加的记录。有人可以确认这一点吗?然后我将如何访问刚刚添加的记录?

请注意,几个人可能会同时添加到同一个表中,因此我需要一些非常准确的信息。

最佳答案

PDO::lastInsertId()应该可以。

编辑:(没有看到你的其他部分)

MySQL 以 http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html">每个连接为基础维护最后的插入 ID。因此,如果其他东西插入一行,如果该查询是使用相同的连接(如持久连接)执行的,那么它应该只返回意外的结果。

关于php - 获取刚刚用mysql准备好的语句添加的记录ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796152/

相关文章:

PHP/SQL 转换时间戳

php - 如何使用 IGDB API 的查询参数格式化 URL?

java - 如何从结果集中获取最小计数、最大计数和总结果集计数

php - 警告 : session_start() [function. session 启动] Wordpress 仪表板上的错误

php - Ajax表单问题

mysql - 优化 JDBC 查询

php - 群发邮件对每封邮件发送多次

php - 什么样的代码可以进入PDO交易?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 如何使用准备好的语句将表单数据插入到 PDO 中?