PDO显然无法计算从选择查询返回的行数(mysqli具有num_rows变量)。
有没有办法做到这一点,而无需使用count($results->fetchAll())?
根据手册,有一种PDOStatement->rowCount方法;但不应使用(引用):
对于大多数数据库, PDOStatement::rowCount() 不返回受SELECT语句影响的行数。 而是使用 PDO::query() 发出SELECT COUNT(*)与您的预期SELECT 语句相同的谓词的语句,然后使用 PDOStatement::fetchColumn()检索将返回的行数。 然后,您的应用程序可以执行正确的操作。
如果您已经有一个记录集,并且想知道其中有多少行,则必须使用一种fetch*方法来获取数据;并使用计数-就像您建议的那样。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。