Mysql SQL NOW()给出0000-00-00:00:00
我已经使用codeigniter使用NOW()完成了SQL插入。 而不是当前时间,我在数据库代码中得到0000-00-00:00:00。 我使用最新的WAMP作为我的服务器,无法理解问题出在哪里。 请帮帮我Mysql SQL NOW()给出0000-00-00:00:00,mysql,codeigniter,types,Mysql,Codeigniter,Types,我已经使用codeigniter使用NOW()完成了SQL插入。 而不是当前时间,我在数据库代码中得到0000-00-00:00:00。 我使用最新的WAMP作为我的服务器,无法理解问题出在哪里。 请帮帮我 function createform($form_data) { $this->db->set('created', 'NOW()',TRUE); $this->db->insert('amfbases', $form_data); if
function createform($form_data)
{
$this->db->set('created', 'NOW()',TRUE);
$this->db->insert('amfbases', $form_data);
if ($this->db->affected_rows() == '1')
{
return TRUE;
}
return FALSE;
}
检查您的列数据类型,您是否引用了NOW(),如
插入表值(“NOW()”)代码>
已更新
$this->db->set('created', time(),TRUE);
或
或者将表架构更新为
add_date timestamp NOT NULL默认当前_timestamp
更新2
NOW()
指定给MYSQL,PHP将其解释为字符串,不能将两者混合使用实际上,正确的方法是将第三个参数指定为FALSE
例如:
这将导致codeigniter传递第二个参数而不引用它,从而导致sql将其解释为函数
适用于:
$this->db->set('counter', 'counter + 1', FALSE);
参考一下:该死,你一定是在时间袋里。你能去检查Jesus是否真的存在吗?MySQL支持零日期,因为当指定的值不是有效日期时。默认情况下它是打开的,如果需要可以关闭。created
datetime default NULL,@Kombuwa:如果是这种情况,$this->db->set('created',time(),TRUE)代码>或$this->db->set('created',date('Y-m-dh:i:s'),TRUE)代码>应该能够修复您的problem@Kombuwa:$this->db->set('created',date('Y-m-dh:i:s'),TRUE)代码>原因未注意到是日期时间数据类型谢谢$this->db->set('created',date('Y-m-dh:i:s'),TRUE)代码>工作正常。
$this->db->set('created', 'NOW()', FALSE); // notice FALSE
$this->db->set('counter', 'counter + 1', FALSE);