Mysql phpmyadmin和Codeigniter的$this->db->query()函数的结果不一致

Mysql phpmyadmin和Codeigniter的$this->db->query()函数的结果不一致,mysql,codeigniter,phpmyadmin,Mysql,Codeigniter,Phpmyadmin,用户表 id stamp_created email_address 1 2013-03-06 22:00:01 test+1@gmail.com 2 2013-03-20 22:00:08 test+2@gmail.com 3 2013-03-27 22:00:17 test+3@gmail.com 4 2013-04-01 22:00:27 test+4@gmail.com 我有这个疑问 SELECT `user`.* F

用户表

id  stamp_created          email_address
1   2013-03-06 22:00:01    test+1@gmail.com
2   2013-03-20 22:00:08    test+2@gmail.com
3   2013-03-27 22:00:17    test+3@gmail.com
4   2013-04-01 22:00:27    test+4@gmail.com
我有这个疑问

SELECT
    `user`.*
FROM
    `user`
WHERE
    `user`.`email_address` IS NOT NULL
    AND (`user`.`stamp_created` BETWEEN '2013-04-01 00:00:00' AND '2013-04-01 23:59:59')
在phpmyadmin中运行查询时,我得到了正确的结果

4   2013-04-01 22:00:27    test+4@gmail.com
但是当我通过

$sql = "SELECT
    `user`.*
FROM
    `user`
WHERE
    `user`.`email_address` IS NOT NULL
    AND (`user`.`stamp_created` BETWEEN '2013-04-01 00:00:00' AND '2013-04-01 23:59:59')
";

$this->db->query($sql)->result_array();
我得到一个空数组

你知道为什么会这样吗

p.S.已经确认CI和phpmyadmin使用的是同一个数据库,所以这不是问题所在。

如果您尝试一下该怎么办

$query = $this->db->sql('yourquery');

if($query->num_rows() > 0){
   foreach($query->result() as $row){
      $retdat[] = array(
           'test1' => $row->stamp_created
     ); 
  }
    print_r($retdat);
}

$sql中有什么?您可以演示如何将SQL字符串分配给它吗?如果您尝试稍微简化一点的查询,例如-select*from user,会发生什么情况?@arvinsim返回值是否为null?如果是问题,您应该返回$this->db->query$sql->result\u数组;首先,运行$this->db->last\u query并确认发送的查询与您认为的相同。然后,它在->result\u数组之后的代码中……您不知何故丢失了保存结果的数组变量。发布模型功能和控制器的其余部分