我想在 Codeigniter 的事件记录中使用 mySQL 函数 NOW() 在数据库中插入当前时间。以下查询无效:
$data = array(
'name' => $name ,
'email' => $email,
'time' => NOW()
);
$this->db->insert('mytable', $data);
这是因为 CodeIgniter 的 ActiveRecord 类会自动转义输入。
以下工作正常,通过调用 set() 并传递 peratmeter FALSE,这样它就不会逃脱 NOW()。
$data = array(
'name' => $name ,
'email' => $email,
);
$this->db->set('time', 'NOW()', FALSE);
$this->db->insert('mytable', $data);
但是,我的问题是除此之外还有其他方法吗?例如,如果我可以通过仅在数据数组中添加所有内容来以某种方式使用? 例如,类似:
$data = array(
'name' => $name ,
'email' => $email,
'time' => NOW(), FALSE
);
最佳答案
我通常使用触发器来处理时间戳,但我认为这可能有效。
$data = array(
'name' => $name,
'email' => $email
);
$this->db->set('time', 'NOW()', FALSE);
$this->db->insert('mytable', $data);
关于php - 使用 CodeIgniter 的 Active Record 将 NOW() 插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354315/