Ma requete PDO ne marche pas

Johny -  
jordane45 Messages postés 38486 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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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