php - 使用 CodeIgniter 的 Active Record 将 NOW() 插入数据库

标签 php mysql codeigniter

我想在 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/

相关文章:

php - 使用 PHP 在 html 文档中显示带有原始图像数据的 PNG

php - Codeigniter 项目在本地工作但不在线 - 找不到 404 页面

mysql - 如何按日期范围管理记录?

mysql - 比较两个数据库表并显示更改的列名

codeigniter - mysql,区分大小写通过codeigniter进行比较

php - CodeIgniter: Hook (pre_controller)加载助手

php - 如何构建一个查询,通过交易历史提取用户当前拥有的所有合约

php - MySQL 多对多具有唯一键和更新/选择如果存在否则插入

php - 是否可以在 codeigniter 的助手中使用多个 $this

php - 一次性代码的原子/安全服务