PDO 上次插入 ID 始终是正确的?

2022-08-30 19:11:41

我有以下代码:

<?
$query =$db->prepare("INSERT INTO a_table (id, a_field) VALUES ('', (:a_field)");
$query->bindParam(":a_field", $a_value);
$query->execute();
$last_id = $db->lastInsertId('a_table');
?>

我想问的是这个。想象一下,当两个人同时加载页面时,在检索最后一个ID之前插入其他人的查询,混淆ID是否有可能的危险?


答案 1

不,这种情况是不可能的。方法 $db->lastInsertId() 返回此数据库连接的最后插入 id。在另一个页面中将是另一个连接和另一个最后插入的ID。


答案 2

PDO 将返回当前活动数据库连接插入的最后一个 ID。


推荐