在PHP中使用PDO时如何检索最后插入行的id?

2021-12-26 00:00:00 php pdo

示例:我使用 PHP 内置的 PDO 将一行插入到数据库中:

Example: I insert a row into the DB with this, using PHP's built in PDO:

$sql = "INSERT INTO mytable (name, ok) VALUES ('john', '1')";
$this->dbh->exec($sql);

我需要该行的 ID.我怎么能得到它?

I need the id of that row. How could I get that?

推荐答案

如果 idauto_increment,你可以使用 PDO::lastInsertId :

If the id is an auto_increment, you can use PDO::lastInsertId :

返回最后插入的ID行,或序列中的最后一个值对象,取决于底层司机.

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver.


所以,在你的情况下,这样的事情应该可以解决问题:


So, in your case, something like this should do the trick :

$lastId = $this->dbh->lastInsertId();

相关文章