虽然我想在查询中获得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()'
答案 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
如果time
为timestamp
,您只需使用PHP的time()
函数
$this->db->where(array('is_active' => 1, 'time' => time()));
$this->db->update('table', array('is_active' => 0));