Insertion qui échoue avec valeur nulle
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:
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:
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 :(