获取最后一个 id PDO

Posted

技术标签:

【中文标题】获取最后一个 id PDO【英文标题】:Getting last id PDO 【发布时间】:2016-09-09 06:12:23 【问题描述】:

这就是我所拥有的:

$stmt = $handler->prepare('SELECT id FROM users');
$stmt->execute();
$id = $handler->lastInsertId();

echo $id;

所以,我希望结果是例如“有 $id 注册用户”。

【问题讨论】:

lastInertId 在成功插入操作后可用。你想SELECT MAX(id) Row count with PDO的可能重复 【参考方案1】:

您永远不需要从表格中选择“最后一个 id”。每当你认为你需要它时,你就需要别的东西。例如,“Last id”与注册用户数无关。相反,您必须计算个用户:

$count = $handler->query('SELECT count(id) FROM users')->fetchColumn();
echo "There is $count registered users";

【讨论】:

SELECT id FROM users ORDER BY id DESC LIMIT 1 这也有效,但可能不是正确的,谢谢。【参考方案2】:

PDO::lastInsertId -- 返回最后一个插入行或序列值的 ID。 ——https://secure.php.net/manual/en/pdo.lastinsertid.php。

您想要的是 count 个注册用户,请参阅 Row count with PDO。

要检索最后插入的 ID 或序列值,请参阅PDO get the last ID inserted。

【讨论】:

他不需要results的计数。仅仅因为他没有它们。 如果您选择了一些数据,得到了一些结果,然后想计算它们,则可以使用“结果”一词。虽然 OP 没有任何查询结果。他唯一的结果就是计数本身,显然没有必要计数。

以上是关于获取最后一个 id PDO的主要内容,如果未能解决你的问题,请参考以下文章

使用 PDO 准备好插入后获取最后一个插入 ID

如何在使用 PHP-PDO 记录查询时获取最后一个插入 ID

php PDO - 如何获取最后插入的ID?

PDO 获取多个插入 ID

如果需要,插入更新 pdo mysql 查询并获取最后插入的 id

在 PDO 中显示数据库的最后一个 ID [重复]