PDO 错误: “ SQLSTATE[HY000]: 常规错误 ” 更新数据库时

2022-08-30 10:22:59

我在使用 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]:常规错误

我真的不知道问题可能在哪里,因为它非常模糊,我无法找到任何有相同问题的人。


答案 1

您不使用 fetchAll(),如

$result = $stmt->fetchAll();

使用更新或插入查询。删除此语句应可以纠正此问题。


答案 2

请注意,此错误的另一个可能原因是,如果您使用现有父$stmt循环中的变量$stmt进行第二次数据库调用。

     $stmt = $conn->query($sql);

    while ($row = $stmt->fetch()) {  //second use of $stmt here inside loop

推荐