php - Codeigniter 获取复杂查询的行数

标签 php mysql sql codeigniter paging

我有一个包含多个内部联接的复杂查询。查询是用纯 SQL 编写的。我不想将它转换为 Active Record。对于分页,我需要知道查询将返回的总行数,但我不想执行它。我试过:

$this->db->count_all_results($query);

但它什么也没返回。有没有其他方法可以从用 SQL 编写的复杂查询中获取行数?

这里是查询:

SELECT o.id, o.heading, o.description, p.product_name, s.company_name
            FROM ci_offer o 
            INNER JOIN ci_products p ON o.product_id = p.id
            INNER JOIN ci_suppliers s ON p.supplier_id = s.id
            ORDER BY o.modified DESC

最佳答案

如果你想使用 count_all_results,你需要使用 ActiveRecord。

但您也可以将 SELECT 子句中的列替换为

COUNT(1) AS total

关于php - Codeigniter 获取复杂查询的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26002774/

相关文章:

MySQL合并共享相似列的多个表

php - 使用尊重/验证来验证子数组?

php - 用于执行服务器端脚本的短信

mysql - 在同一个查询中获得用户群平均投票和单个用户的投票?

MySQL - 如何从表中获取结果,以及一个查询中有多少个连接项的计数?

mysql - 在一个查询中使用两个 COUNT 语句时出现未知列错误

MySql - 从 2 个表中选择 *,但在结果集中添加表名前缀?

javascript - 如何按首字母对列表进行分组?

php - 通过php将图像上传到mysql数据库

mysql - 运行此查询时出错 : #1093 - You can't specify target table 'items' for update in FROM clause