有许多相互矛盾的陈述,在PHP中使用PDO进行行计数的最佳方法是什么?在使用PDO之前,我只是简单地使用了mysql_num_rows .
fetchAll是我不想要的,因为我有时可能会处理大型数据集,所以对我的使用不利 .
有什么建议?
在Mysql $ stmt-> rowCount();不起作用 . 试试这个
$nRows = $pdo->query('select count(*) from yourTable')->fetchColumn(); echo 'Number of rows is = '. $nRows;
以下是关于相同的评论和答案的摘录 . 看看它非常足智多谋 .
mysql_num_rows()工作是因为它在内部获取所有行以提供该信息,即使它看起来不像你 . 请参阅此内容
所以在PDO中,您的选择是:
使用MySQL的FOUND_ROWS()函数 .
使用PDO的fetch_all()函数将所有行提取到数组中,然后对其使用count() .
对SELECT COUNT(*)执行额外查询,
https://stackoverflow.com/a/883523/2536812
直接表格PHP Manual about PDO Statements
$stmt->rowCount();
$stmt 值仅用于返回准备:
$stmt
$stmt = $pdo->prepare('MY PREPARED SQL QUERY');
2 回答
在Mysql $ stmt-> rowCount();不起作用 . 试试这个
以下是关于相同的评论和答案的摘录 . 看看它非常足智多谋 .
mysql_num_rows()工作是因为它在内部获取所有行以提供该信息,即使它看起来不像你 . 请参阅此内容
所以在PDO中,您的选择是:
使用MySQL的FOUND_ROWS()函数 .
使用PDO的fetch_all()函数将所有行提取到数组中,然后对其使用count() .
对SELECT COUNT(*)执行额外查询,
https://stackoverflow.com/a/883523/2536812
直接表格PHP Manual about PDO Statements
$stmt
值仅用于返回准备: