Erreur PDO : "SQLSTATE[HY000] : Erreur générale" lors de la mise à jour de la base de données
Dans PDO, la mise à jour d'une base de données peut occasionnellement déclencher un problème déconcertant message d'erreur : "SQLSTATE[HY000] : erreur générale." Cependant, l'aspect particulier de cette erreur est que la mise à jour de la base de données réussit souvent malgré le problème signalé.
Code :
<code class="php">try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); $result = $stmt->fetchAll(); // Remove this line echo "Database updated!"; } catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage(); }</code>
Erreur :
ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
Solution :
La racine de ce problème réside dans l'utilisation de la méthode fetchAll() après l'exécution d'une requête de mise à jour ou d'insertion. Cette méthode ne doit pas être utilisée dans de tels scénarios, car elle tente de récupérer des données de la base de données, ce qui n'est pas applicable aux opérations de mise à jour ou d'insertion. Suppression du $result = $stmt->fetchAll(); la ligne devrait résoudre le problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!