PDO显然无法计算从select查询返回的行数(mysqli具有num_rows变量).
有没有办法做到这一点,没有使用count($results->fetchAll())?
Pas*_*TIN 12
根据手册,有一种PDOStatement->rowCount方法; 但不应该使用(引用):
对于大多数数据库,
PDOStatement::rowCount()不返回受SELECT语句影响的行数.
相反,用于PDO::query()发出SELECT COUNT(*)与预期语句具有相同谓词的SELECT语句,然后用于PDOStatement::fetchColumn()检索将返回的行数.
然后,您的应用程序可以执行正确的操作
如果你已经有一个记录集,并想知道其中有多少行,你将不得不使用其中一种fetch*方法获取数据; 并使用计数 - 就像你建议的那样.