Tester une chaine different de vide [php/mysql] - PHP - Programmation
Marsh Posté le 20-11-2003 à 18:37:14
*Syl* a écrit : NOT NULL |
Marche pas par contre
Code :
|
fonctionne
Marsh Posté le 20-11-2003 à 19:44:38
Là, tu récupère les chaînes de longueur , ce qui est différent des chaînes NULL
Marsh Posté le 21-11-2003 à 09:45:19
Si je fais le teste avec null ma requete ne fonctionne pas (la syntaxe est bonne mais aucun resultat n'est affiché)
Pour tester avec NULL il faut je crois que la valeur de mon champs soit NULL or dans ma table la valeur du champs par defaut est "rien"
Je me demande quelle est la difference entre "" et NULL
mrBebert a écrit : Là, tu récupère les chaînes de longueur , ce qui est différent des chaînes NULL |
Marsh Posté le 21-11-2003 à 10:50:42
C'est une valeur différente. Un champ peut être à NULL si la colonne l'accepte. Ensuite, si le champ n'est pas NULL, la chaîne peut avoir une longueur de 0.
C'est un peut la même différence qu'entre un pointeur à void et un pointeur sur un caractère de fin de chaîne '\0'
Marsh Posté le 21-11-2003 à 11:03:52
En gros tu es en train de m'expliquer que c'est plus propre de definir une valeur par defaut NULL dans ma base et de tester ce NULL plutot que "" qui brille par son absence de signification meme s'il cherche a ressembler a NULL
mrBebert a écrit : C'est une valeur différente. Un champ peut être à NULL si la colonne l'accepte. Ensuite, si le champ n'est pas NULL, la chaîne peut avoir une longueur de 0. |
Marsh Posté le 21-11-2003 à 11:25:38
Pas forcément, ca dépend de la signification que tu donnes à ces valeurs. Généralement, on utilise NULL pour indiquer que le champ est sans objet.
Par exemple, dans une table stockant des infos sur des bateaux, si tu as une colonne indiquant la profondeur à laquelle il a coulé, tu peux faire la distinction entre :
- 0 : il a coulé à 0 mètre de profondeur (il est échoué, quoi )
- NULL : le bateau est encore en service, donc cette colonne n'a pas de signification dans ce cas
(j'ai pas de meilleur exemple là maintenant )
C'est vrai que difficile d'avoir une signification vraiment différente pour une chaîne de caractères entre '' et NULL
Marsh Posté le 21-11-2003 à 11:30:55
je crois avoir compris la nuance merci
mrBebert a écrit : Pas forcément, ca dépend de la signification que tu donnes à ces valeurs. Généralement, on utilise NULL pour indiquer que le champ est sans objet. |
Marsh Posté le 20-11-2003 à 18:11:49
je veux selectionner toutes les lignes ou Qui est non nul
$query = "SELECT * FROM liste_cado WHERE QUI !='" ;
pourquoi ca ne marche pas?????