Page 1 sur 1

Impossible d'inserer une valeur NULL depuis un formulaire

Posté : 08 nov. 2006, 17:35
par cco
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.

Posté : 08 nov. 2006, 17:40
par Vikchill
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.

Posté : 08 nov. 2006, 17:47
par Ajoloca
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.

Posté : 09 nov. 2006, 11:51
par cco
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.