【发布时间】:2017-03-31 13:00:04
【问题描述】:
您好,我收到 PDO 异常,我做错了吗?我尝试使用相同的查询在 PhpMyAdmin 中插入数据,但它确实有效。
错误:类型:PDOException 代码:42000
消息:SQLSTATE[42000]:语法错误或访问冲突:1064 You 您的 SQL 语法有错误;检查对应的手册 您的 MariaDB 服务器版本,以便在 '' 附近使用正确的语法 第 1 行 文件:X:\SproutTech\Fashion-Blog\cms\app\Models\Post.php 行: 36
try {
$statement = $this->connection->prepare("INSERT INTO posts(title,content,image_path,tags,author,status,cat_id) VALUES(:title,:content,:image_path,:tags,:author,:status,:cat_id");
$statement->execute(array( ":title"=>$array['title'],
":author"=>$array['author'],
":content"=> $array['content'],
":image_path"=>$array['image_path'],
":tags"=>$array['tags'],
":status"=>$array['status'],
":cat_id"=>$array['cat_id'], ));
} catch (PDOException $e) {
echo $e->getMessage();
}
【问题讨论】:
-
在
":cat_id"=>$array['cat_id']之后多了一个,。删除它,休息对我来说看起来不错。也尝试一次$statement->execute(array(":title"=>$array['title'],":content"=> $array['content'], ":image_path"=>$array['image_path'],":author"=>$array['author'],":status"=>$array['status'],":tags"=>$array['tags'],":cat_id"=>$array['cat_id']));(我不认为顺序变化是这里的问题,但这是将事情按确切顺序排列的正确方法)