Ответ 1
Вы не используете fetchAll(), как в
$result = $stmt->fetchAll();
с запросами обновления или вставки. Удаление этого утверждения должно устранить проблему.
Я получаю сообщение об ошибке при обновлении базы данных с использованием 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();
}
Ошибка: ERROR UPDATING CONTENT: SQLSTATE [HY000]: общая ошибка
Я буквально понятия не имею, где проблема может быть из-за того, что она очень важна, и я не смог найти кого-либо с той же проблемой.
Вы не используете fetchAll(), как в
$result = $stmt->fetchAll();
с запросами обновления или вставки. Удаление этого утверждения должно устранить проблему.
С другой стороны, еще одна возможная причина этой ошибки заключается в том, что вы делаете второй вызов базы данных с переменной $stmt внутри существующего родительского цикла $stmt.
$stmt = $conn->query($sql);
while ($row = $stmt->fetch()) { //second use of $stmt here inside loop