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
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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.