在 Codeigniter 插入数组中使用类似 NOW() 的东西
Posted
技术标签:
【中文标题】在 Codeigniter 插入数组中使用类似 NOW() 的东西【英文标题】:Using something like NOW() in a Codeigniter insert array 【发布时间】:2012-10-19 01:27:33 【问题描述】:因为 NOW() 是一种 mysql 方法,我似乎无法让它在下面的数组中工作。什么是我可以在 php 中使用的函数,它将与 NOW() 方法执行相同的操作。
$data = array('node1id' => $leader_id,
'node2id' => $idgen,
'friendsSince' => NOW(),
$this->db->insert('users', $data);
【问题讨论】:
Inserting NOW() into Database with CodeIgniter's Active Record的可能重复 【参考方案1】:使用 codeigniter 日期助手并保持相同的符号:
$this->load->helper('date');
$data = array('node1id' => $leader_id,
'node2id' => $idgen,
'friendsSince' => now(),
$this->db->insert('users', $data);
CI 文档中有关日期助手的更多信息:http://ellislab.com/codeigniter/user_guide/helpers/date_helper.html
【讨论】:
mysql 函数 NOW() 返回适合时间戳或日期时间字段的当前日期和时间。 codeigniters 日期助手中的 now() 函数以 unix 时间戳返回时间。如果您的字段是 DATETIME 或 TIMESTAMP,则此答案将不起作用。其他两个答案会起作用,Kamrul 的答案是最好的。【参考方案2】:您可以根据需要使用date("Y-m-d");
或date("Y-m-d H:i:s");
DATE
vs DATETIME
【讨论】:
^ 我是 Claudrian,我支持这条信息!手动操作,为您提供更多动力。 也许,你需要这样做: date("Y-m-d H:i:s",strtotime($time-string));【参考方案3】:试试
$this->db->set('node1id', $leader_id);
$this->db->set('node2id', $idgen);
$this->db->set('friendsSince', 'NOW()', FALSE);
$this->db->insert('users');
每当使用 MySQL 函数时,使用 FALSE 作为第三个参数。
【讨论】:
以上是关于在 Codeigniter 插入数组中使用类似 NOW() 的东西的主要内容,如果未能解决你的问题,请参考以下文章