Php 在更新查询中绑定参数时发生PDO异常

Php 在更新查询中绑定参数时发生PDO异常,php,mysql,pdo,bind,Php,Mysql,Pdo,Bind,我有以下使用PDO和绑定两个参数的SQL UPDATE查询,但我得到一个错误: $updateSql = $con->prepare("UPDATE menu SET '".$field."' = :value WHERE 'id' = :idField"); $updateSql->execute(array( ':value' => $value, ':idField' => $id)); 错误告诉我: Fatal error: Uncaught e

我有以下使用PDO和绑定两个参数的SQL UPDATE查询,但我得到一个错误:

$updateSql = $con->prepare("UPDATE menu SET '".$field."' = :value WHERE 'id' = :idField");
$updateSql->execute(array(
    ':value' => $value,
    ':idField' => $id));
错误告诉我:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 Syntax error next to ''dish' = ? WHERE 'id' = ?' 

注意:更新执行正确,但脚本停止运行,出现致命错误。

您用单引号将列名括起来。删除单引号

$updateSql = $con->prepare("UPDATE menu SET ".$field." = :value WHERE id = :idField");

尝试使用
而不是
:value
:idField
@arestraguna出现相同的错误…如果您想使用引号,请尝试以下操作:`P.S:捕捉得很好@voidmain@void梅因:事情是这样的。我意识到更新正在正确执行,但我仍然收到错误。为什么会这样?