我已经有一段时间了,我的sql遇到了一些问题。最近我已经了解了一些准备好的陈述,我一直在使用它们,直到这个没有任何麻烦。但是现在我遇到的问题是,当我手动将编码查询转移到phpmyadmin时,我没有收到错误,但是当我从服务器中执行代码时,它不会更新任何记录。< / p>
代码:
$stmt = $conn->prepare("UPDATE `diensten` SET `titel` = ':titel', `content` = ':beschrijving', `img` = ':img' WHERE `diensten`.`id` = ':id'");
$stmt->execute(array(':title' => $titel, ':beschrijving' => $beschrijving, ':img' => $img, ':id' => $id));
请原谅代码中的荷兰语,尽管它不应该妨碍任何功能。
答案 0 :(得分:2)
使用预准备语句时,不需要围绕值使用单引号。该类型由参数插入处理。所以,你只需要:
$stmt = $conn->prepare("
UPDATE `diensten`
SET `titel` = :titel,
`content` = :beschrijving,
`img` = :img
WHERE `diensten`.`id` = :id");
(为了便于阅读,我把它放在多行上。)