gpt4 book ai didi

php - 有没有办法从 Zend-framework 的查询中获取记录数?

转载 作者:可可西里 更新时间:2023-11-01 12:46:38 28 4
gpt4 key购买 nike

鉴于我下面的通用选择,有没有办法获取从 Zend Framework 查询返回的记录数?循环中的 $row++ 对于我的解决方案是 Not Acceptable ,因为我正在使用分页(尽管它不在我的示例中)。

我也不想添加另一个带有“Count(*)”的查询。

$query = "Select * from Users where active = 1";
$stmt = $db->query($query);

$noOfRows = ???;

while ($row = $stmt->fetch())
{

// processing
}

最佳答案

它仍然需要另一个查询,但是对于 MySQL 有一个 SELECT 参数 SQL_CALC_FOUND_ROWS - 它在您的连接中存储一个值,然后您可以 SELECT FOUND_ROWS()

注意 - 初始查询的性能会下降,因为限制将在稍后处理,但它可能比单独的 COUNT() 更快。

FOUND_ROWS()

$query = "Select SQL_CALC_FOUND_ROWS * from Users where active = 1 limit 20";
$stmt = $db->query($query);

while ($row = $stmt->fetch())
{

// processing
}

$count = $db->fetchOne('SELECT FOUND_ROWS()');

关于php - 有没有办法从 Zend-framework 的查询中获取记录数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/983419/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com