在 PHP PDO 中检索行计数
与 MySQLi 的 num_rows 变量不同,PHP PDO 缺乏一种简单的方法来确定由选择查询。这就引出了一个问题,是否有另一种方法可以在不诉诸 count($results->fetchAll()) 的情况下计算行数?
PDO 的 rowCount 方法
PDO规范包括PDOStatement->rowCount方法;然而,由于不同数据库之间的不一致,通常不鼓励在这种情况下使用它。如手册中所述,rowCount 在应用于 SELECT 语句时通常无法提供准确的计数。
推荐方法
为了避免潜在的错误,首选计数方法PHP PDO 中的 rows 是发出一个单独的 SELECT COUNT(*) 语句,其约束与您想要的 SELECT 查询相同。随后,使用 PDOStatement::fetchColumn() 检索行计数。此过程可确保可靠且跨数据库兼容的方法。
现有记录集的替代选项
如果您已经拥有一个记录集并需要确定其行数,您可以可以使用 fetch* 方法之一获取数据并利用 PHP 的 count 函数。虽然这种方法很简单,但它需要将整个记录集提取到内存中,这对于大型数据集可能效率不高。
以上是如何从 PHP PDO SELECT 查询中高效检索行数?的详细内容。更多信息请关注PHP中文网其他相关文章!