最近在修改一个程序,打算将$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]
这会导致上面的那一条语句执行报错。