在 PHP 中使用 PDO 获取行计数可以通过多种方法来实现。但是,最佳方法取决于您的具体用例和数据大小考虑因素。
如果您只需要行数而不是数据本身,建议使用“SELECT count(*)”查询。下面是一个代码示例:
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
对于需要行数以及检索数据的场景,PDO 提供了 PDOStatement::rowCount() 方法。但是,无法保证其在不同驱动程序中的可靠性。根据 PDO 文档:
“对于大多数数据库,PDOStatement::rowCount() 不会返回受 SELECT 语句影响的行数...而是使用 PDO::query() 发出SELECT COUNT(*) 语句...然后使用 PDOStatement::fetchColumn() 检索将返回的行数。"
在这种情况下,您可以使用PDO::fetchAll() 函数将数据检索到数组中,然后使用 count() 确定行数。
$data = $pdo->fetchAll(); $number_of_rows = count($data);
或者,如果您的查询很简单并且不使用变量,您可以直接使用query()函数:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
以上是在 PHP 中使用 PDO 获取行数的最佳方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!