【发布时间】:2011-09-15 07:23:34
【问题描述】:
我想在 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
);
【问题讨论】:
-
超出轨道甚至范围,但您知道使用
strtotime可以获得类似NOW() 的效果吗?例如echo date("N", strtotime('now'));会给你今天的日期,参考 php.net/strtotime 和 php.net/date
标签: php mysql codeigniter