Insertion de la variable NULL après formulaire - PHP - Programmation
Marsh Posté le 25-07-2006 à 13:27:08
2 choses
soit tu affecte la chaine NULL à ta variable et ça pourrait bien marcher
soit tu défini comme valeur par défaut NULL à ton champ
là tu ne fais qu'envoyer une variable vide donc forcément il prend la valeur par défaut qui est 0
Marsh Posté le 25-07-2006 à 13:36:55
Sh@rdar a écrit : 2 choses |
1) Si j'affecte la chaine de cette facon:
if ($NiveauEtudeMin=="" ) $NiveauEtudeMin="NULL";
il continue à me mettre 0 et non NULL dans la base de donnée
2) c'est en fait un script de modification de profil, donc je suis obligé de definir la valeur de mon champ avec le contenu de la base de donnée, qui ici se retrouve être un 0 ou un 0000-00-00
Marsh Posté le 25-07-2006 à 13:41:23
regarde comment insérer NULL dans une base mysql
Marsh Posté le 25-07-2006 à 13:49:05
Hum je sais bien qu'il me faudrait une requête comme ca :
UPDATE tiers set Valeur=NULL WHERE ...
mais j'ai un soucis avec les guillemets j'ai l'impression, vu que ca me retourne une erreur quand je n'en mets pas.
Marsh Posté le 25-07-2006 à 13:50:40
ma boule de cristal est en panne
Marsh Posté le 25-07-2006 à 13:16:23
Bonjour, j'utilise un formulaire d'inscription qui alimente une base de donnée, ce formulaire contient entre autres des champs ou l'utilisateur doit taper un entier, qui est facultatif. J'aimerais donc que lorsque l'utilisateur laisse ce champ vide, le champ correspondant dans la base de donnée soit NULL et non 0.
Voilà des extraits du code:
if(isset($_POST['NiveauEtudeMin'])) $NiveauEtudeMin=$_POST['NiveauEtudeMin']; else $NiveauEtudeMin="";
...
if ($NiveauEtudeMin=="" ) $NiveauEtudeMin=NULL;
...
mysql_query("UPDATE tiers SET ... NiveauEtudeMin='".$NiveauEtudeMin."', NiveauEtudeMax='".$NiveauEtudeMax."' ... WHERE NumTiers='".$NumTiers."'" ) or die('Erreur SQL !<br>'.mysql_error());
cette requête ci fonctionne, mais me met des 0 pour les entiers et des 0000-00-00 pour les dates non remplies.
Si j'enlêve les simples quotes de ma requête:
mysql_query("UPDATE tiers SET ... NiveauEtudeMin=".$NiveauEtudeMin.", NiveauEtudeMax=".$NiveauEtudeMax." ... WHERE NumTiers='".$NumTiers."'" ) or die('Erreur SQL !<br>'.mysql_error());
Le script me retourne une erreur.
Evidemment j'ai configuré ma table dans phpmyadmin pour que les champs en question puissent recevoir la valeur NULL.
Merci d'avance.