Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur ajout de données dans une BDD

Sujet résolu
    19 mai 2022 à 17:54:09

    Bonjour,

    J'essaie d'ajouter de nouvelle donnée via un formulaire dans ma BDD mais j'ai l'erreur suivante : 

    Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'adresse' cannot be null in /Applications/MAMP/htdocs/PHP/TP-Groupe/index2.php on line 40

    Est-ce que vous auriez une idées d'où cela pourrait provenir ? Je ne comprends pas pourquoi selon lui 'adresse' est null

    Voici mon fichier conf pour faire le lien avec la BDD 

    <?php
    // Permet d'afficher les messages d'erreurs provenant de PHP.
    ini_set('display_errors', '1');
    
    // Localisation de la BDD
    const HOST = "localhost";
    
    // Nom de la base de donnée
    const DATABASE = "immobilier";
    
    // Nom d'utilisateur
    const USERNAME = "root";
    
    // Mot de passe 
    const PASSWORD = "root"; 
    // Sur MAMP Password = "root" 
    // sur XAMP Password = ""
    
    try{
        // Arguments : 1 (serveur + la BDD), 2 (username), 3 (mdp), 4 (options)
        $sql = new PDO("mysql:host=" . HOST . ";dbname=" . DATABASE, USERNAME, PASSWORD,
        array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' ));
        /* 
            PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING : Affiche les messages d'erreurs qui sont liées à la base donnée.
            PDO::mysql_ATTR_INIT_COMMAND => 'SET NAMES utf8' : Encodage au format utf-8
        */
    } catch(PDOException $error) // PDO : php data objects
    {  
        echo "probleme connexion : " . $error->getMessage();
    }

    Voici mon fichier PHP avec le formulaire : 

    <?php require_once('./config_bdd.php'); 
    /*var_dump($_POST);*/
    
    ?>
    
    <?php
    
    var_dump($_POST); //renvoie bien : array(4) { ["idAgence"]=> string(2) "23" ["nom"]=> string(7) "Oceania" ["adresse"]=> string(15) "Rue des champs " ["envoyer"]=> string(0) "" }
    
    
    if(isset($_POST['envoyer'])){
        $idAgence = $_POST['idAgence'];
        $nom = $_POST['nom'];
        $adressee = $_POST['adresse'];
        $query = $sql->prepare("INSERT INTO `agence`(`idAgence`, `nom`, `adresse`) VALUES (:idAgence, :nom, :adresse)");
        $query->bindParam(':idAgence',$idAgence);
        $query->bindParam(':nom',$nom);
        $query->bindParam(':adresse',$adresse);
    
        $query->execute();
    }
    
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    <form method="POST">
    <br>
        <div>
            <label for="idAgence">Entrez l'id de l'Agence : </label>
            <input type="text" name="idAgence" id="idAgence">
            <br>
    
            <label for="nom">Entrez le nom de l'Agence : </label>
            <input type="text" name="nom" id="nom">
            <br>
    
            <label for="adresse">Entrez l'adresse de l'Agence : </label>
            <input type="text" name="adresse" id="adresse">
    
        </div>
    
            <button type="submit" name="envoyer">Envoyer</button>
    </form>
    
    </body>
    </html>
    
    

    Merci d'avance pour votre aide :) 


    • Partager sur Facebook
    • Partager sur Twitter
      19 mai 2022 à 18:00:15

      Bonjour,   $adressee !=    $adresse
      • Partager sur Facebook
      • Partager sur Twitter
        19 mai 2022 à 18:53:33

        AbcAbc6 a écrit:

        Bonjour,   $adressee !=    $adresse


        Bonjour, merci beaucoup !!
        • Partager sur Facebook
        • Partager sur Twitter

        Erreur ajout de données dans une BDD

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown