一尘不染

PHP PDO-行数

mysql

PDO显然无法计算从选择查询返回的行数(mysqli具有num_rows变量)。

有没有办法做到这一点,而无需使用count($results->fetchAll())


阅读 316

收藏
2020-05-17

共1个答案

一尘不染

根据手册,有一种
PDOStatement->rowCount
方法;但不应使用
(引用)

对于大多数数据库, PDOStatement::rowCount() 不返回受SELECT语句影响的行数。
而是使用 PDO::query() 发出SELECT COUNT(*)与您的预期SELECT 语句相同的谓词的语句,然后使用
PDOStatement::fetchColumn()检索将返回的行数。
然后,您的应用程序可以执行正确的操作。

如果您已经有一个记录集,并且想知道其中有多少行,则必须使用一种fetch*方法来获取数据;并使用计数-就像您建议的那样。

2020-05-17