【发布时间】:2016-03-07 23:04:49
【问题描述】:
我正在使用 MySQL 和 PHP 在 MVC CodeIgniter 中工作。 常见情况 - 我从数据库中获取数据,我想要对它们进行计数。我想知道如何以最优化的方式做到这一点。在 one 函数中这样做是否明智?
我将与您分享我的解决方案,请告诉我这是一个好方法。假设我们有一个模型函数:
public function get_results()
{
$query = $this->db->get('data');
$result = $query->result();
$count = $query->num_rows();
return [$result, $count];
}
这样返回两个值不是很傻吗?
我想避免创建新函数 num_result() 执行另一个 SQL 仅用于计数行,因为我已经运行了一个。有没有其他有效的方法来计算一次查询执行的次数?
【问题讨论】:
-
你可以统计结果。 $total = count($result);
-
正确的方法是让 assoc 数组与您的数据一起返回
return ['result'=>$result, 'count'=>$count]; -
PostMans,看起来很聪明,但我不会再次调用函数(并再次执行脚本)吗?编辑:知道了 :-) 只需将 return 分配给某个变量并计算该变量。
标签: php mysql codeigniter mysql-num-rows