如何在php pdo中获取行值的计数

时间:2015-04-26 13:56:16

标签: php pdo

有许多相互矛盾的陈述,在PHP中使用PDO进行行计数的最佳方法是什么?在使用PDO之前,我只是简单地使用了mysql_num_rows。

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

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

在Mysql $ stmt-> rowCount();不起作用。试试这个

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

以下是对评论和答案的摘录。看看它非常足智多谋。

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

所以在PDO中,你的选择是:

  1. 使用MySQL的FOUND_ROWS()函数。
  2. 使用PDO的fetch_all()函数将所有行提取到数组中, 然后在它上面使用count()。
  3. 对SELECT COUNT(*),
  4. 执行额外查询

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

答案 1 :(得分:0)

直接表格PHP Manual about PDO Statements

$stmt->rowCount();

$stmt值仅用于返回prepare:

$stmt = $pdo->prepare('MY PREPARED SQL QUERY');