插入数据时,此错误将填充在错误日志中



插入数据时,此错误填充在错误日志中:

PHP 致命错误:未捕获的 CDb 异常:CDb命令无法执行 SQL 语句:SQLSTATE[22007]:无效的日期时间格式:1292 不正确的日期时间值:"0000-00-00 00:00:00" 列 第 1 行的"date_modified"/var/www/html/yiiframework/db/CDbCommand.php:358

$p = new CHtmlPurifier();
$params=array(
'first_name'=>$p->purify($this->data['first_name']),
'last_name'=>$p->purify($this->data['last_name']),
'email_address'=>$p->purify($this->data['email_address']),
'password'=>md5($this->data['password']),
'date_created'=>FunctionsV3::dateNow(),
'ip_address'=>$_SERVER['REMOTE_ADDR'],
'contact_phone'=>$p->purify($this->data['contact_phone'])
);
public static function dateNow()
{
return date('Y-m-d G:i:s');
}

为空值添加一个空检查并用另一个值填充它们,或者您可以执行以下操作:

ALTER TABLE yourTable MODIFY created datetime NULL DEFAULT '1970-01-02'

设置默认日期时间。

您需要将date_modified的默认值添加到 null。或者您也必须在创建时传递它

$params=array(
'first_name'=>$p->purify($this->data['first_name']),
'last_name'=>$p->purify($this->data['last_name']),
'email_address'=>$p->purify($this->data['email_address']),
'password'=>md5($this->data['password']),
'date_created'=>FunctionsV3::dateNow(),
'ip_address'=>$_SERVER['REMOTE_ADDR'],
'contact_phone'=>$p->purify($this->data['contact_phone']),
'date_modified'=>FunctionsV3::dateNow()
);

由于您没有设置date_modified,除非您在数据库中有默认值,否则您需要添加类似

'date_modified'=>FunctionsV3::dateNow(),

到您设置的字段列表。

最新更新