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

how to get the count of row values in php pdo

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

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

有什么建议吗?

直接从表格 PHP Manual about PDO Statements

$stmt->rowCount();

$stmt值例如是准备的return:

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

在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(*),