Discussion:
pb champ NULL
(trop ancien pour répondre)
jpwitz
2011-11-13 19:20:55 UTC
Permalink
Bonjour

Comment détecter en php un champ mysql issu d'une requête:

Après la fonction :
$row = mysql_Fetch_array($id)

Le champ $row[1] est NULL, d'après son contenu visible par phpmyadmin

J'ai essaye isnull($row[1]) ou empty($row[1]) mais rien n'y fait

Merci de votre aide
Jean Francois Ortolo
2011-11-13 19:57:50 UTC
Permalink
Post by jpwitz
Bonjour
$row = mysql_Fetch_array($id)
Le champ $row[1] est NULL, d'après son contenu visible par phpmyadmin
J'ai essaye isnull($row[1]) ou empty($row[1]) mais rien n'y fait
Merci de votre aide
Bonsoir Monsieur

La fonction MySQL ISNULL(champ, valeur) figurant dans une requête
MySQL, rendra valeur si champ est égal à NULL.

Vous pouvez donner à valeur, une valeur impossible, que vous
détecterez en lecture.

Bien amicalement.

Jean Francois Ortolo
jpwitz
2011-11-15 07:41:37 UTC
Permalink
J'ai trouvé!

Pour détecter en php un champ mysql NULL, il faut utiliser la fonction
isset($row[1])
Post by jpwitz
Bonjour
$row = mysql_Fetch_array($id)
Le champ $row[1] est NULL, d'après son contenu visible par phpmyadmin
J'ai essaye isnull($row[1]) ou empty($row[1]) mais rien n'y fait
Merci de votre aide
Jean Francois Ortolo
2011-11-15 08:58:20 UTC
Permalink
Post by jpwitz
J'ai trouvé!
Pour détecter en php un champ mysql NULL, il faut utiliser la fonction
isset($row[1])
Bonjour Monsieur

C'est sur que vous alimentez votre $row avec une instruction MySQL de
lecture, quelle qu'elle soit.

Donc, même si la valeur de $row[1] = est NULL, cette valeur aura
quand même été alimentée par l'instruction MySQL de lecture.

La fonction isset($var) return true ou (!==false) si et seulement si
$var n'a jamais été alimentée...

Je sais bien qu'il est possible, que cette fonction joue sur la
valeur par défaut d'une variable non alimentée, cette valeur pouvant
être NULL.

Je me pose la question de la portabilité de votre solution sur les
différentes versions futures de php. ;)

Bien amicalement.

Jean Francois Ortolo
jpwitz
2011-11-16 16:52:24 UTC
Permalink
Je suis d'accord avec vous.La logique voudrait que isset(row[1]) soit
true dans le cas présent.
Néanmoins php me dit le contraire... Je ne peux que m'incliner...
Wait and see... pour l'avenir

Merci de vous être intéressé à mon problème.
Continuer la lecture sur narkive:
Loading...