2015-04-26 159 views
0

有许多相互冲突的声明,在PHP中使用PDO进行行计数的最佳方式是什么?在使用PDO之前,我只是简单地使用了mysql_num_rows。如何获得php中的行值的计数pdo

fetchAll是我不想要的东西,因为我有时可能会处理大型数据集,所以不适合我的使用。

有什么建议吗?

+0

http://php.net/manual/en/pdostatement.rowcount.php – PHPMan

+0

你有没有设法得到一个答案这个 – chapskev

回答

2

在MySQL $ stmt-> rowCount时();不工作。试试这个

$nRows = $pdo->query('select count(*) from yourTable')->fetchColumn(); 
echo 'Number of rows is = '. $nRows; 

下面是关于同一个评论和答复的摘录。看看它非常足智多谋。

mysql_num_rows()工作是因为它在内部获取所有行以提供该信息,即使它看起来不像你。请参阅本anwere

所以在PDO,你的选择是:

  1. 使用MySQL的FOUND_ROWS()函数。
  2. 使用PDO的fetch_all()函数将所有行提取到数组中,然后使用count()。
  3. 做一个额外的查询SELECT COUNT(*),

https://stackoverflow.com/a/883523/2536812