如何在codeigniter中对COUNT查询执行num_rows()?
·
问题:如何在codeigniter中对COUNT查询执行num_rows()?
这有效:
$sql = "SELECT id
FROM `users`
WHERE `account_status` = '" . $i . "'";
$query = $this->db->query($sql);
var_dump($query->num_rows());
但这不会:
$sql = "SELECT COUNT(*)
FROM `users`
WHERE `account_status` = '" . $i . "'";
$query = $this->db->query($sql);
var_dump($query->num_rows());
如何对 COUNT(*) 查询执行 num_rows?第二种方式是否有更好的性能?
解答
执行COUNT(*)只会给你一个包含行数而不是结果本身的单数行。
要访问COUNT(*)你需要做
$result = $query->row_array();
$count = $result['COUNT(*)'];
第二个选项执行得更好,因为它不需要将数据集返回给 PHP,而只是一个计数,因此更加优化。
更多推荐



所有评论(0)