Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL NOW()给出0000-00-00:00:00_Mysql_Codeigniter_Types - Fatal编程技术网

Mysql SQL NOW()给出0000-00-00:00:00

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

我已经使用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 ($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);