Bonjour,
Je pensais trouver ça dans la FAQ mais...
Soit donc une requête SQL quelconque dont certaines colonnes peuvent afficher NULL, cas typique en cas de jointure externe.
Comment tester en PHP si l'une des colonnes de la requête a renvoyé NULL ?
Version imprimable
Bonjour,
Je pensais trouver ça dans la FAQ mais...
Soit donc une requête SQL quelconque dont certaines colonnes peuvent afficher NULL, cas typique en cas de jointure externe.
Comment tester en PHP si l'une des colonnes de la requête a renvoyé NULL ?
Salut,
une petite précision, tu veux savoir si la colonne peut renvoyer NULL ou bien si la valeur de la colonne est NULL ?
Si tu recherches le deuxième cas, la fonction is_null() ne fait-elle pas l'affaire ?
Code:
1
2
3
4
5 if(is_null($row['mon_champs'])) { // traitement }
Hello
Exemple pratique:
Produit:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 echo "<pre>"; $c = mysql_connect('localhost', 'root', ''); $req = "select null"; if ($results = mysql_query($req)) { var_dump($a = mysql_fetch_assoc($results)); var_dump($b = array_shift($a)); var_dump(is_null($b)); var_dump(isset($b)); var_dump(empty($b)); var_dump($b == NULL); } echo "</pre>";
Code:
1
2
3
4
5
6
7
8
9
10 array(1) { ["NULL"]=> NULL } NULL bool(true) bool(false) bool(true) bool(true)
Attention.
0 == null == false == array() == etc.
Si la valeur peut retourner 0, il faut utiliser la comparaison stricte (===).
Merci, je l'ai fait avec === NULL et ça fonctionne.