[英]PDO ERROR:SQLSTATE[42000]: Syntax error or access violation: 1064
请帮我解决以下错误:
ERROR:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,以在第2行的':username,
oncall_area
=:oncall_area,oncall_month
=:oncall_mo'附近使用正确的语法
我的代码是:
try {
$db = new PDO("mysql:host=$server;dbname=$dbname;charset=utf8", $dbuser, $dbpass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "
UPDATE `oncall_users`
SET `username` = :username,
`oncall_area` = :oncall_area,
`oncall_month` = :oncall_month,
`oncall_year` = :oncall_year,
`oncall_day` = :oncall_day,
`order` = :order,
`mobile` = :mobile,
`email` = :email,
`ext` = :ext,
WHERE `id` = :id";
$update = $db->exec($sql);
$update->bindParam(':username', $username, PDO::PARAM_STR);
$update->bindParam(':oncall_area', $oncall_area);
$update->bindParam(':oncall_month', $oncall_month);
$update->bindParam(':oncall_year', $oncall_year);
$update->bindParam(':oncall_day', $oncall_day);
$update->bindParam(':order', $order);
$update->bindParam(':email', $email);
$update->bindParam(':mobile', $mobile);
$update->bindParam(':ext', $ext);
$update->bindParam(':id', $id);
$count = $update->execute();
$db = null; // Disconnect
}
catch(PDOException $e) {
echo "ERROR:" . $e->getMessage();
}
您在这里还有一个逗号:
`ext` = :ext,
替换为:
`ext` = :ext
这就是导致您的问题的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.