如何在查询生成器中使用unix_timestamp

时间:2015-07-06 10:08:18

标签: php mysql codeigniter

虽然我想在查询中获得UNIX_TIMESTAMP(),但这是发生的事情:

代码:

$this->db->where(array('is_active' => 1, 'time' => 'UNIX_TIMESTAMP()'));
$this->db->update('table', array('is_active' => 0));

结果:

UPDATE `table` SET `is_active` = 0 WHERE `is_active` = 1 AND `time` = 'UNIX_TIMESTAMP()'

我希望UNIX_TIMESTAMP()没有引号而不是'UNIX_TIMESTAMP()'

1 个答案:

答案 0 :(得分:0)

您可以使用PHP的time函数,该函数相当于UNIX_TIMESTAMP()

$this->db->where('is_active',1);
$this->db->where('time = UNIX_TIMESTAMP()',null, FALSE);
$this->db->update('table', array('is_active' => 0));

您可以将where子句的第三个参数用作false

如果timetimestamp,您只需使用PHP的time()函数

$this->db->where(array('is_active' => 1, 'time' => time()));
$this->db->update('table', array('is_active' => 0));