PDO: données non enregistrées dans la base de données

Petit nouveau ! | 1 Messages

13 juil. 2022, 18:17

Bonjour,

les enregistrements de mon formulaires HTML ne sont pas stockés dans la base de données. La connexion à la base de données se fait pourtant normalement. Voici ci-dessous le code de mon formulaire HTML et celui du programme PHP. Merci pour toute aide.

Code : Tout sélectionner

<!DOCTYPE html> <html"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form action="insertion_pdo.php" method="POST"> <p> <label for="nom">Nom:</label> <input type="text" name="nom" id="nom"> </p> <p> <label for="prenoms">Prenoms:</label> <input type="text" name="prenoms" id="prenoms"> </p> <p> <label for="adresseEmail">Adresse Email:</label> <input type="text" name="email" id="adresseEmail"> </p> <input type="submit" value="Soumettre"> </form> </body> </html>

Code : Tout sélectionner

<?php $nomServeur = "localhost"; $nomUtilisateur = "root"; $motDePasse = ""; $nomBaseDeDonnees = "etudiants"; try { $conn = new PDO("mysql:host=$nomServeur;nomBaseDeDonnees=$nomBaseDeDonnees", $nomUtilisateur, $motDePasse); echo "Connection à la base de données effectuée avec succès"; // Mode d'erreur PDO pour gérer les exceptions $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $error) { echo 'Connection error: ' . $error->getMessage(); } // Récupération des données du formulaire HTML $nom = $_POST['nom']; $prenoms = $_POST['prenoms']; $email = $_POST['email']; // Creation d'une procédure stockée $maProcedureStockee = $conn->prepare("INSERT INTO etudiants (nom, prenoms, email) VALUES (:nom, :prenoms, :email)"); // Correspondance des paramètres avec l'instruction c'est-à-dire la procédure stockée $maProcedureStockee->bindParam(':nom', $nom); $maProcedureStockee->bindParam(':prenoms', $prenoms); $maProcedureStockee->bindParam(':email', $email); // Exécution de la procédure stockée if ($maProcedureStockee->execute()) { echo "Nouveaux enregistrements enregistrés avec succès!"; } else { echo "Impossible d'ajouter les nouveaux enregistrements"; } //Fermeture de la connexion $conn = null; ?>

ynx
Eléphant du PHP | 494 Messages

13 juil. 2022, 19:49

Bonjour,

Quel est le résultat obtenu ? Une page blanche ? Le message "Impossible d'ajouter les enregistrements" ?
Regarde les logs ou active l'affichage des erreurs : tutoriels/page-blanche-script-php-comme ... 73178.html
Tu peux aussi ajouter un try catch pour le groupe prepare, bindParam et execute afin d'intercepter l'éventuelle exception.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9484 Messages

18 juil. 2022, 15:45

Mets ta gestion d'erreur PDO en mode Warning et pas en mode Exception si tu n'utilises pas des try...;catch partout, ça t'aidera dans ton debugage.
https://www.php.net/manual/fr/pdo.error-handling.php
Quand tout le reste a échoué, lisez le mode d'emploi...