Auteur Sujet: [RESOLU] Insérer la valeur NULL dans une DB  (Lu 6590 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
[RESOLU] Insérer la valeur NULL dans une DB
« le: 24 novembre 2008 à 16:19:26 »
Bonjour,

j'essaye d'insérer la valeur NULL dans ma DB mais n'y arrive pas.
j'ai essayer plusieurs façon sans succès.

voici par exemple ce que j'ai essayé:
if(isset($_POST['prix'])) $prix=$_POST['prix']; else $prix=NULL;
if(isset($_POST['prix'])) $prix=$_POST['prix']; else $prix="NULL";


merci de votre aide

unlimilove
« Modifié: 04 décembre 2008 à 13:37:48 par unlimilove »

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Insérer la valeur NULL dans une DB
« Réponse #1 le: 24 novembre 2008 à 18:17:42 »
Bonjour,

if(isset($_POST['prix'])) $prix=$_POST['prix']; else $prix=NULL;
if(isset($_POST['prix'])) $prix=$_POST['prix']; else $prix="NULL";

La deuxième ligne est normalement correcte.
Ça ne fonctionne pas avec ? Ton champ accepte t'il de recevoir la valeur NULL ?
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
Re : Insérer la valeur NULL dans une DB
« Réponse #2 le: 24 novembre 2008 à 19:31:42 »
oki, je vais donc utiliser la deuxième solution.
à ce que j'ai pu lire sur certain forum, le problème se situerait dans ma requête SQL qui ne devrait pas contenir de guillemets là ou la valeur devrait être NULL...
demain j'essayerai d'adapter la requête avec une condition, si cela ne fonctionne pas (ce qui devrait être le cas ;] ) je reviendrais vers vous.

merci

unlimilove

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Insérer la valeur NULL dans une DB
« Réponse #3 le: 25 novembre 2008 à 09:36:29 »
Salut,

Effectivement dans ta requête tu dois implémenter ta valeur sous cette forme :
$maRequete = 'INSERT INTO toto SET prix = '.$prix.'';
et non
$maRequete = 'INSERT INTO toto SET prix = "'.$prix.'"';
Donc pour se faire il te suffit d'utiliser cette implémentation
if(isset($_POST['prix'])) $prix='"'.$_POST['prix'].'"'; else $prix='NULL';
Bon courage :).
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
Re : Insérer la valeur NULL dans une DB
« Réponse #4 le: 25 novembre 2008 à 21:52:33 »
re,

je viens d'essayer, mais mon champ se remplit toujours par 0 au lieu de NULL
voici ma requête:

$insertProduit = "INSERT INTO articlesBoulangerie_tbl SET
categorie='".$categorie."',
produit='".$produit."',
description='".$description."',
disponibilite='".$disponibilite."',
prix=".$prix.",
photo='".$nomphoto."' ";

si tu pouvais y jeter un oeil.

merci

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Insérer la valeur NULL dans une DB
« Réponse #5 le: 27 novembre 2008 à 09:17:40 »
Bonjour,

Je pense que le problème ne vient pas de la requête (qui me semble tout à fait correct).
Mais de la structuration de ta table.
Celle ci permet t'elle l'insertion d'une valeur NULL ? (option NOT NULL non coché)
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
Re : Insérer la valeur NULL dans une DB
« Réponse #6 le: 28 novembre 2008 à 10:14:59 »
oui les champ sont bien à "NULL"
lorsque j'insère des données depuis phpMyAdmin, les champs vident donnent "NULL" mais pas lorsque j'utilise mon formulaire  :[

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Insérer la valeur NULL dans une DB
« Réponse #7 le: 28 novembre 2008 à 10:21:52 »
Bonjour,

Essai de faire un
echo $insertProduit;
Que l'on voit ce que donne la requête après traitement, stp.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
Re : Insérer la valeur NULL dans une DB
« Réponse #8 le: 28 novembre 2008 à 11:34:48 »
voici la requête avec la fonction echo:

INSERT INTO articlesBoulangerie_tbl SET categorie='Pain', produit='test', description='tetst', disponibilite='', prix="", photo='photo_defaut.jpg'

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Insérer la valeur NULL dans une DB
« Réponse #9 le: 01 décembre 2008 à 09:52:53 »
Salut,

Donc ce qui se passe c'est que ta variable "$_POST['prix']" est bien initialiser mais qu'elle est vide. Donc "isset()" renvoie "true".

Remplace
if(isset($_POST['prix'])) $prix='"'.$_POST['prix'].'"'; else $prix='NULL';
Par
if(isset($_POST['prix'])&&!empty($_POST['prix'])) $prix="'".$_POST['prix']."'"; else $prix='NULL';
J'en ai profité pour uniformiser les " et ' dans ta requête :).

Bonne continuation !
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne unlimilove

  • Débutant
  • *
  • Messages: 45
Re : Insérer la valeur NULL dans une DB
« Réponse #10 le: 04 décembre 2008 à 13:36:48 »
terrible, ça fonctionne nikel!

merci à toi pour ta patience

 -_-

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : [RESOLU] Insérer la valeur NULL dans une DB
« Réponse #11 le: 04 décembre 2008 à 13:57:25 »
Je t'en pris, ravis que cela fonctionne !

Bonne continuation.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/