我在数据库中有一个$ id =“ 4bd4e441-4866-097f-8b59-5b33a72029b5”。当我执行SELECT时,它会起作用:
$sql = "SELECT * FROM Open_Cases WHERE id = $id";
$q = $pdo->prepare($sql);
$q->execute(array($id));
但是,当我尝试执行UPDATE时不起作用:
$sql = "UPDATE Open_Cases set status = '2'
WHERE id = $id";
$q = $pdo->prepare($sql);
$q->execute(array($id));
我看到一条错误消息:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column '4bd4e441' in 'where clause'' in ...
如果$ id =数值,则SELECT和UPDATE的工作原理相同。但是,当$ id的值为字母数字时,它将失败。