Я получаю сообщение об ошибке при обновлении базы данных с использованием 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