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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(isset($dn))$dn = trim($_POST["dn"]); else $dn = "NULL";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(isset($dn))$dn = trim($_POST["dn"]); else $dn = NULL;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.