mysql报SQLSTATE[22007]的错误的一个原因

最近在修改一个程序,打算将$video这个参数保存到数据库。修改的过程中出现错误。导致该程序不能发布新文章。在程序的一个db.php程序文件里使用var_dump($input); 和var_dump($stmt); 语句看到里错误信息,并找到里错误原因。信息里包含的错误代码是:

SQLSTATE[22007]: Invalid datetime format。

经过查找原因,原来是查询模版与查询数据里的数据值没有一一对应。导致每一次相同的查询都报错,导致不能发布新文章。

例如:预查询模版是:

 $add_id = db_exec(DB_LASTID, 'INSERT INTO `cms_article` (`cid`,`title`,`author`,`show`,`content`,`keywords`,`description`    ,`thumb`,`time`,`video`) VALUES(?,?,?,?,?,?,?,?,?,?)', 'isssssssss', $input);

但是数据$input数组里的数据顺序是这样的:

$input[cid, title, author, show, content, keywords, description, thumb, video, time]

这会导致上面的那一条语句执行报错。

你可能感兴趣的:(数据库,php)