如何获取 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 中,您的选择是:
- 使用 MySQL 的 FOUND_ROWS() 函数。
- 使用 PDO 的 fetch_all() 函数将所有行提取到一个数组中,
然后在上面使用 count()。
- 额外查询 SELECT COUNT(*),
周围有很多相互矛盾的陈述,在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 中,您的选择是:
- 使用 MySQL 的 FOUND_ROWS() 函数。
- 使用 PDO 的 fetch_all() 函数将所有行提取到一个数组中, 然后在上面使用 count()。
- 额外查询 SELECT COUNT(*),