Maison >développement back-end >tutoriel php >Pourquoi PDO affiche-t-il « SQLSTATE[HY000] : erreur générale » pour les mises à jour de la base de données ?
Erreur PDO : "SQLSTATE[HY000] : Erreur générale" lors de la mise à jour de la base de données
Malgré la mise à jour réussie de la base de données par votre code, vous rencontrez un erreur énigmatique lors de l'exécution : "SQLSTATE[HY000] : Erreur générale."
En inspectant votre code, nous remarquons une inclusion inattendue :
<code class="php">$result = $stmt->fetchAll();</code>
Cette ligne de code est généralement utilisée pour récupérer des résultats à partir des instructions select, mais dans le contexte d'une requête de mise à jour, c'est incorrect. Plus précisément, fetchAll() ne doit pas être utilisé pour les requêtes d'insertion ou de mise à jour. Sa suppression devrait résoudre l'erreur.
Ainsi, votre code mis à jour serait :
<code class="php">try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); echo "Database updated!"; } catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage(); }</code>
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!