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 ?

Pourquoi PDO affiche-t-il « SQLSTATE[HY000] : erreur générale » pour les mises à jour de la base de données ?

DDD
Libérer: 2024-10-22 23:50:29
original
387 Les gens l'ont consulté

Why Does PDO Show

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal