Je reçois une erreur lors de la mise à jour d'une base de données à l'aide de PDO. Je suis nouveau sur PDO, alors le problème est peut-être petit et je ne comprends tout simplement pas. Chose amusante à propos de l'erreur, la commande fonctionne bien et la base de données est effectivement mise à jour. Mais elle me renvoie toujours une erreur.
Code:
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();
}
Erreur: ERREUR MISE À JOUR DU CONTENU: SQLSTATE [HY000]: Erreur générale
Je n'ai littéralement aucune idée de l'endroit où le problème pourrait être, car c'est très différent et je n'ai pu trouver personne avec le même problème.
Vous n'utilisez pas fetchAll (), comme dans
$result = $stmt->fetchAll();
avec des requêtes de mise à jour ou d'insertion. La suppression de cette déclaration devrait corriger le problème.
Juste pour noter, une autre raison possible de cette erreur est si vous effectuez un deuxième appel à la base de données avec la variable $ stmt à l'intérieur d'une boucle parent $ stmt existante.
$stmt = $conn->query($sql);
while ($row = $stmt->fetch()) { //second use of $stmt here inside loop