【问题标题】:CodeIgniter Database query limitCodeIgniter 数据库查询限制
【发布时间】:2011-02-03 18:05:16
【问题描述】:

我正在使用 ActiveRecord 进行一些数据库查询,我需要对结果进行分页,所以我做了一个

$this->db->limit($pPagination['Start'], $pPagination['Length']);

但我没有得到任何结果。使用 $this->db->last_query(); 似乎 CodeIgniter 产生以下 SQL

SELECT *
FROM (`viw_contacts`)
WHERE `user_id` = '1'
ORDER BY `contact_name` asc
LIMIT 0 OFFSET 15

当我在 PHPMyAdmin 中运行它时也返回 0 行。

但如果我修改它运行:

SELECT *
FROM (`viw_contacts`)
WHERE `user_id` = '1'
ORDER BY `contact_name` asc
LIMIT 0, 15

然后我得到正确的结果。知道 CodeIgniter 为什么会生成此 SQL 以及为什么它不起作用?

我使用 CodeIgniter 1.7.3 和 MySQL 5.1.41

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    好的,找到问题了。

    这是

    $this->db->limit($pPagination['Length'], $pPagination['Start']);
    

    而不是

    $this->db->limit($pPagination['Start'], $pPagination['Length']);
    

    第一个参数是长度,第二个是偏移量,而不是我想的相反。

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      相关资源
      最近更新 更多