Impossible d'inserer une valeur NULL depuis un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Impossible d'inserer une valeur NULL depuis un formulaire

par cco » 09 nov. 2006, 11:51

Il s'agissait effectivement d'un problème de syntaxe " " et ' '.

avec le code suivant ça marche :

Code : Tout sélectionner

$temps='NULL'; sql = "INSERT INTO base (temps) VALUES ($temps)";
Merci.

par Ajoloca » 08 nov. 2006, 17:47

Bonjour,

Tu devrais voir comment est déclarée ta colonne dans la table, si elle accepte la valeur NULL et sa valeur DEFAULT devrait être NULL, si c'est pas le cas cherche pas plus loin.

par Vikchill » 08 nov. 2006, 17:40

Tu as affiché la valeur de $sql? Parce qu'à vue de nez, ça doit ressembler à ça:

Code : Tout sélectionner

INSERT INTO base (temps) VALUES ('null')
ce qui, AMHA, n'est pas la même chose que

Code : Tout sélectionner

INSERT INTO base (temps) VALUES (null)
mais je ne peut rien confirmer, faute de moyens.

Impossible d'inserer une valeur NULL depuis un formulaire

par cco » 08 nov. 2006, 17:35

J'ai une base de données dans laquelle j'aimerais introduire une donnée dans une colone "temps" (type time, NULL = oui, par défaut NULL).

La valeur à ajouter provient d'un formulaire :

Code : Tout sélectionner

echo (" <form action=\"admin.php\" method=\"post\"> <tr> <td width=\"47\"><input type=\"text\" name=\"temps\" ></td>...
je récupère la donnée pour l'insérer dans ma base :

Code : Tout sélectionner

sql = 'INSERT INTO base (temps) VALUES ('".$_POST['temps']."')';
La requête fonctionne mais quand le champ est laissé vide, j'aimerais que "temps" prenne la valeur "NULL".
Au lieu de ça, la valeur "temps" est toujours 00:00:00 dans ma base.

J'ai essayé de faire des test avant de faire le INSERT avec
if(empty()), is_null(), et ai même essay de forcer la variable à prendre la valeur NULL

Code : Tout sélectionner

$temps=NULL; sql = 'INSERT INTO base (temps) VALUES ('$temps')';
mais la valeur de temps est toujours 00:00:00 !

Je ne sais plus dans quel sens chercher. Quelqu'un aurait une idée ?
Merci.