【发布时间】:2012-04-27 12:48:03
【问题描述】:
我正在使用 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)'
我还尝试通过在get_where 中添加FALSE 作为第三个参数,但仍然无效
$query=$this->db->get_where('tablename',$data,FALSE);
它也产生了与上面相同的查询。 所以请建议我如何解决这个问题。
-谢谢
【问题讨论】:
标签: php mysql codeigniter datetime