Ma requete PDO ne marche pas

Johny -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'essaie d'ajouter une categorie à ma bdd dans ma table CATEGORY.

Malheureusement avec mon code, je n'ai aucune erreur, mais rien ne s'ajoute dans ma table. C'est sûrement une erreur stupide mais je m'énerve depuis un petit moment !! ;)

Merci de votre aide

Voici le code



if(empty($erreur)){
$insert = $pdo->prepare("INSERT INTO CATEGORY SET name = :categorie");
$insert->bindParam(':categorie', $categorie);
$insert->execute();

$succes = "la catégorie a bien été enregistrée";
}

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Premier reflexe... tester ta requête directement dans ta BDD sans passer par le PHP...
    qu'est ce que ça donne ?

    => Si tu ne sais pas comment faire... tu peux surement essayer ceci : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql

    Tu pourrais aussi ajouter un block Try/catch au cas où...et également t'assurer que ta variable existe bien...

    if(empty($erreur) && isset($categorie) && !empty($categorie)){
      try{
            $insert = $pdo->prepare("INSERT INTO CATEGORY SET name = :categorie");
            $insert->bindParam(':categorie', $categorie);
            $insert->execute();
            $succes = "la catégorie a bien été enregistrée";
       } catch ( Exception $e ) {
         echo " <br>Erreur dans l'exécution de la requête: ", $e->getMessage();
         die();
       }
    
    }
    


    Au cas où tu peux aussi tester l'autre syntaxe du INSERT
    if(empty($erreur) && isset($categorie) && !empty($categorie)){
      try{
            $insert = $pdo->prepare("INSERT INTO CATEGORY (name) 
                           VALUES(:categorie) ");
            $insert->bindParam(':categorie', $categorie);
            $insert->execute();
            $succes = "la catégorie a bien été enregistrée";
       } catch ( Exception $e ) {
         echo " <br>Erreur dans l'exécution de la requête: ", $e->getMessage();
         die();
       }
    
    }
    

    0