Bonjour,

Je fais un projet PHP-MYSQL dans lequel je récupère des variables provenant d'une liste déroulante. Si l'utilisateur n'effectue aucun choix, la valeur retournée est -1, dans les autres cas elles dépend du choix sélectionné (1,2,3,...).
Mon problème se situe seulement si la valeur est -1 (donc si l'utilisateur ne choisit rien). En effet, au moment d'insérer le résulat dans ma base de données, je teste avant l'insertion si la valeur de la variable est égal à -1, si c'est le cas je la remplace par la valeur null afin d'éviter d'insérer une valeur négative dans une Foreign Key...
Voici un extrait du code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
// initialisation des dicos non modifiés avant insertion dans la base de données
if ($idDicoAncCat == '-1') {$idDicoAncCat = null;}
if ($idDicoDesign == '-1') {$idDicoDesign = null;}
 
  $conn = db_connect();
 
// Insertion dans table Objets
	$query = "insert into Objets values
            ('','".$idDicoDesign."','".$idDicoAncCat."','".$AncNoInv."')";
 
	$result = $conn->query($query);
 
	if (!$result) {
		return false;    // et c'est ici que je sors à chaque fois .....
	}
 
	$idObjets = $conn->insert_id;
J'ai remarqué qu'en remplacant '".$idDicoAncCat."' par null ($idDicoDesign est quant à lui égal à 1 ou 2 bref différent de -1), comme ceci ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
	$query = "insert into Objets values
            ('','".$idDicoDesign."',null,'".$AncNoInv."')";
Cela fonctionne sans problème, ma requête est inséré.... bizarre bizarre ..quelqu'un à une idée ?
Note: Ma table Objets est bien configuré pour permettre des valeurs null pour les 2 attributs suivants $idDicoDesign, $idDicoAncCat.
Merci bcp pour votre aide, car je sèche un peu sur cette histoire