【发布时间】:2014-12-28 19:59:55
【问题描述】:
我正在学习 PDO 命令并一直在学习示例
下面的查询对 SELECT 命令有效,但不适用于 INSERT 命令。我看不出 INSERT 命令有什么问题。我得到的错误是“未捕获的异常(PDOException),带有消息 SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误”
$descr='1M18';
Require('connect_db.php');
//SELECT COMMAND
$stmt=$mysql_link->prepare("SELECT descr,area_id FROM berthmove WHERE descr=:descr");
$stmt->execute(array(':descr'=>$descr));
foreach($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
echo $row['descr'];
echo $row['area_id'];
}
//INSERT COMMAND
$msg_type_berth='Hello';
$railinfo2=$mysql_link->prepare("INSERT INTO berthmove ('msg_type_berth') VALUES(:msg_type_berth)");
$railinfo2->execute(array(':msg_type_berth'=>$msg_type_berth));
$mysql_link=null;
【问题讨论】:
-
看看你的帖子。查看代码中的大量空白。不要只是从你的编辑器中复制粘贴,在点击提交之前总是预览你的帖子以确保它看起来正确。 (特别注意代码块是基于 4 个空格的。不要添加更多的前导空格,否则你只是创建了一个巨大的不必要滚动块)
-
您是否尝试使用 CLI 工具 (
> mysql -u... -p... -h... yourdbname) 连接到 MySQL,并尝试将您的查询复制粘贴到那里查看它的内容? -
当我尝试在其中粘贴问题行时,会显示 ERROR 1064 (42000) : You have an error in your SQL syntax