我的Sql DATE_SUB()和codeigniter活动记录问题?

时间:2012-04-16 07:02:21

标签: php mysql codeigniter datetime

我使用codeigniter活动记录来执行一个简单的mysql查询,以便在最后一小时内选择数据。

所以我的查询是:

SELECT * FROM tablename WHERE added_datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR)

和我用于形成此查询的codeigniter代码是:

$data=array(
            'added_datetime >='=>'DATE_SUB(NOW(),INTERVAL 1 HOUR)',

            );
            $query=$this->db->get_where('tablename',$data);

现在问题是codeigniter在DATE_SUB函数周围添加了一个引号,因此查询在mysql服务器上不起作用。

codeigniter产生:

SELECT * FROM (`tablename`) WHERE `added_datetime` >= 'DATE_SUB(NOW(),INTERVAL 1 HOUR)'

我还尝试在FALSE中添加get_where作为第三个参数,但stil无效

$query=$this->db->get_where('tablename',$data,FALSE);

它也产生了与上面相同的查询。 所以请建议我如何解决这个问题。

-Thanks

1 个答案:

答案 0 :(得分:7)

尝试做这样的事情:

$this->db->where("added_datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR)", NULL, FALSE);
$query = $this->db->get('tablename');

$this->db->get_where();没有提供取消你的where子句的功能。