gpt4 book ai didi

PHP PDO lastInsertId() 函数混淆

转载 作者:行者123 更新时间:2023-11-30 21:57:40 27 4
gpt4 key购买 nike

我对 lastInsertId() 函数的编写方式感到困惑。例如,我有以下使用 lastInsertId() 函数的查询。

$myinsert = $pdo->prepare("INSERT INTO some_table(something)VALUE(:something");
$myinsert -> bindValue(':something', $something);
$myinsert -> execute();

$insert = $pdo->prepare("INSERT INTO table(something)VALUE(:something");
$insert-> bindValue(':something', $something);
$insert-> execute();
$lastId = $pdo->lastInsertId();

$stmt = $pdo->prepare("INSERT INTO another_table(something)VALUE(:something");
$stmt -> bindValue(':something', $something);
$stmt -> execute();

现在的困惑是,正如每个人都知道并且可以在这里看到的那样,在语句 $lastId = $pdo->lastInsertId(); 中没有提到是否从中获取最后插入的 ID $myinsert 查询或 $insert 查询或来自 $stmt 查询。那么它怎么知道从哪里获取 ID 呢?由于 lastInsertId() 函数位于 $stmt 查询之上,因此它肯定不会从 $stmt 查询中获取最后插入的 ID $lastid 已声明 $stmt 查询尚未执行。但是它怎么知道它必须从 $insert 查询中获取,而不是从整个语句 $lastId = $pdo->lastInsertId() 中的 $myinsert 查询中获取; 没有定义像从某某特定查询中获取的内容?请帮助我了解它的工作方式。

最佳答案

它只会为您提供生成自动增量值的调用之前最后一次插入的插入 ID。可能每个插入都会生成一个,但它只会是此调用之前执行的最后一个。

关于PHP PDO lastInsertId() 函数混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44537751/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com