使用PDO更新数据库时出错。 我是PDO的新手所以也许这个问题很小,我只是不明白。 关于错误的有趣的事情,命令工作正常,数据库确实实际更新。 但它仍然会向我返回一个错误。
代码:
try {
$stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'");
$stmt->execute(array(
'new_content' => $new_content
));
$result = $stmt->fetchAll();
echo "Database updated!";
}
catch(PDOException $e) {
echo 'ERROR UPDATING CONTENT: ' . $e->getMessage();
}
错误: 错误更新内容:SQLSTATE [HY000]:常规错误
我完全不知道问题出在哪里,因为它非常不透明,我无法找到任何有同样问题的人。
答案 0 :(得分:95)
您不使用fetchAll(),如
$result = $stmt->fetchAll();
使用更新或插入查询。删除此语句可以解决问题。
答案 1 :(得分:9)
请注意,此错误的另一个可能原因是,如果您使用现有父$ stmt循环中的变量$ stmt进行第二次数据库调用。
$stmt = $conn->query($sql);
while ($row = $stmt->fetch()) { //second use of $stmt here inside loop