Bonjour,
J'ai vu pas mal de sujet à propos de cela mais malgré tout, je n'arrive pas a résoudre mon probleme.
J'ai une BD MySQL dans laquelle les champs pouvant être NULL sont bien déclarés comme tels.
Après soumission du formulaire, je cherche à insérer les données transmises dans ma base de données.
J'effectue donc une requète de ce type :
$query = "INSERT INTO eleve (`nom` ,`prenom` ,`date_naissance` ,`note_travail` ,`note_comportement`)VALUES ('".$nom."', '".$prenom."', '".$dn."', '".$nt."', '".$nc."')";
Les champs (de la BD) nom et prénom ne peuvent pas être null, les autres le peuvent.
Avant l'exécution de cette requète et lors de la récupération des valeurs des différents champs de texte. Je regarde si, le champ a bien été renseigné comme dans cet exemple pour la date de naissance:
if(isset($dn))$dn = trim($_POST["dn"]);
Cependant, si le champs n'a pas été renseigné, j'aimerai que la variable $dn prenne la valeur null SQL. A ce moment, j'ai testé plusieurs choses :
if(isset($dn))$dn = trim($_POST["dn"]); else $dn = "NULL";
if(isset($dn))$dn = trim($_POST["dn"]); else $dn = NULL;
if(isset($dn))$dn = trim($_POST["dn"]); else $dn = "";
Mais ces essais renvoient une erreur SQL (la requete ne comprend pas le NULL mais une chaine de caractères vide).
Je cherche une solution pour pallier à ce problème.
Merci de votre aide.
Partager