Erreur ! SQLSTATE[23000]: Integrity constraint violation: 10
Résolu
maxi30
-
maxi30 -
maxi30 -
Bonjour,
Bonjour , je sollicite votre aide pour remplir id_catégorie après la soumission d'un formulaire.
Il s'agit donc:
1- table categories a pour champs (id et categorie).--> Cette table est liée à annonces. --> Les 2 champs sont également remplis
2- annonces a pour champs (id, id_categorie.....).
Je pense que le problème se situe au niveau de ma fonction getCategories. Le formulaire affiche une erreur lors de la soumission:
Erreur ! SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'id_categorie' ne peut �tre vide (null)
Ai-je mal fait ma fonction ou mon mon formulaire?
NB: Mes autres tables que je n'ai pas citées se remplissent parfaitment, uniquemet celle là (catégories), car plus dire avec une fonction de type select
formulaire.php:
fonction getCategories dans commandes.php:
Bonjour , je sollicite votre aide pour remplir id_catégorie après la soumission d'un formulaire.
Il s'agit donc:
1- table categories a pour champs (id et categorie).--> Cette table est liée à annonces. --> Les 2 champs sont également remplis
2- annonces a pour champs (id, id_categorie.....).
Je pense que le problème se situe au niveau de ma fonction getCategories. Le formulaire affiche une erreur lors de la soumission:
Erreur ! SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'id_categorie' ne peut �tre vide (null)
Ai-je mal fait ma fonction ou mon mon formulaire?
NB: Mes autres tables que je n'ai pas citées se remplissent parfaitment, uniquemet celle là (catégories), car plus dire avec une fonction de type select
formulaire.php:
<label for="categorieannonce"><?php echo $lang['ca'];?></label> <select name="categorie"> <optgroup label= "<?php echo $lang['immo'];?>"> <option value= "1"> <?php echo $lang['appa'];?></option> <option value= "2"> <?php echo $lang['mv'];?></option> <option value= "3"> <?php echo $lang['terr'];?></option> </optgroup> <br> <br>
fonction getCategories dans commandes.php:
function getCategories($nom_categorie){ global $bdd; $sql="SELECT * FROM categories WHERE id= '$nom_categorie' "; try{ $req = $bdd->prepare($sql); $req->execute(); $datas= $req->fetchAll(PDO::FETCH_ASSOC); }catch(Exception $e){ echo "Erreur dans la requête " . $sql; } // le temps des tests pour voir le résultat }
if(isset($_POST['formannonce'])) { $nom_categorie= trim($_POST['categorie']); $id_categorie= getCategories($nom_categorie); }
Configuration: Windows / Chrome 96.0.4664.45
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
cela ressemble plutôt à une définition incorrecte de la table.
je suggère que tu modifies ton code afin de pouvoir déterminer précisément à quel endroit l'erreur se produit.
cela ressemble plutôt à une définition incorrecte de la table.
je suggère que tu modifies ton code afin de pouvoir déterminer précisément à quel endroit l'erreur se produit.