[php/sql] variable NULL
Rémy
-
okuni Messages postés 1325 Statut Membre -
okuni Messages postés 1325 Statut Membre -
Bonjour,
Bla bla inutile, voici le code :
J'espère que vous comprenez à peu près ce que je veux faire : mettre des requêtes sql dans une variable...
Mon soucis : certaines valeurs de ma bdd sont égales à NULL. Du coup, lors du isset($rep[$k]), la réponse est FALSE et ma boucle s'arrête.
Ma question donc : comment différencier NULL d'une valeur non définie ?
J'espère m'être bien fait comprendre, n'hésitez pas à demander des précisions.
Merci de m'éclairer...
Bla bla inutile, voici le code :
$req=mysql_query("SELECT * FROM $fiche WHERE blabla=\"1\";");
while($rep=mysql_fetch_array($req))
{
$k=0;
$contenu.='INSERT INTO '.$fiche.' VALUES (';
while(isset($rep[$k]) OR ???????)
{
$contenu.='\''.$rep[$k].'\', ';
$k++;
}
$contenu=substr($contenu, 0, strlen($contenu)-2);
$contenu.=');'."\r\n";
}
J'espère que vous comprenez à peu près ce que je veux faire : mettre des requêtes sql dans une variable...
Mon soucis : certaines valeurs de ma bdd sont égales à NULL. Du coup, lors du isset($rep[$k]), la réponse est FALSE et ma boucle s'arrête.
Ma question donc : comment différencier NULL d'une valeur non définie ?
J'espère m'être bien fait comprendre, n'hésitez pas à demander des précisions.
Merci de m'éclairer...
A voir également:
- [php/sql] variable NULL
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Variable d'environnement temp - Forum Word
- Vba range avec variable ✓ - Forum VB / VBA
15 réponses
Bonjour,
Je te propose de remplacer isset par empty. Le manuel de cette fonction :
https://www.php.net/empty
En espérant que ça t'aide.
Je te propose de remplacer isset par empty. Le manuel de cette fonction :
https://www.php.net/empty
En espérant que ça t'aide.
Non, empty, ne correspond pas à ça.
empty : 0, NULL ou vide
j'ai aussi testé le is_null, rien à faire !... grrrrr
empty : 0, NULL ou vide
j'ai aussi testé le is_null, rien à faire !... grrrrr
si je comprends bien ...
voici ce que tu peux faire...
dans un premier temps utilise la fonction isset($variable) ! si la variable/la case de ton tableau existe... si c'est le cas, tu peux ajouter if(empty($variable)) pour voir si elle est vide ou pas ......
https://www.php.net/manual/fr/function.isset.php
courage
voici ce que tu peux faire...
dans un premier temps utilise la fonction isset($variable) ! si la variable/la case de ton tableau existe... si c'est le cas, tu peux ajouter if(empty($variable)) pour voir si elle est vide ou pas ......
https://www.php.net/manual/fr/function.isset.php
courage
Désolé mais pas possible car :
renvoie 'pas ok'...
$var=NULL; if(isset($var))echo 'ok';else echo 'pas ok';
renvoie 'pas ok'...
Je viens de penser à cette syntaxe :
$var=NULL;
if($var == NULL)echo 'ok';else echo 'pas ok';
Normalement ça devrait t'afficher ok.
$var=NULL;
if($var == NULL)echo 'ok';else echo 'pas ok';
Normalement ça devrait t'afficher ok.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Exact mais lorsque $var n'est pas déclarée (c'est mon cas en bout de bdd), il renvoie 'ok' aussi.
Comment différencier NULL de 'non déclaré' ??
Comment différencier NULL de 'non déclaré' ??
Dans ce cas, je ferai quelque chose qui ressemble à ça :
$var=NULL;
if(($var == NULL) && !empty($var))echo 'ok';else echo 'pas ok';
Je pense que ça devrait marcher.
$var=NULL;
if(($var == NULL) && !empty($var))echo 'ok';else echo 'pas ok';
Je pense que ça devrait marcher.
le NULL est inclus dans le empty.
J'ai quand même testé mais... :(
Merci bien en tout cas. Si tu as une autre idée...
J'ai quand même testé mais... :(
Merci bien en tout cas. Si tu as une autre idée...
Je viens de tomber sur le site suivant :
http://www.webmaster-hub.com/publication/imprimer27.html
Presque en bas de page, il y a une piste pour ton problème.
En espérant que ça t'aide.
http://www.webmaster-hub.com/publication/imprimer27.html
Presque en bas de page, il y a une piste pour ton problème.
En espérant que ça t'aide.
Déjà vu.
Mais ca confirme mon intuition... IM-PO-SI-BLE !!
Il va faloir que je change la structure de ma bdd et vire les NULL... Un boulot dingue parce que j'ai une centaine de fichier php à modifier :'-(
Mais ca confirme mon intuition... IM-PO-SI-BLE !!
Il va faloir que je change la structure de ma bdd et vire les NULL... Un boulot dingue parce que j'ai une centaine de fichier php à modifier :'-(
Je vais faire des tests si je trouve quelques choses de concluant, je te passerai le code ^^.
Si tu trouves, je veux bien aussi.
Si tu trouves, je veux bien aussi.
salut,
je tombe ici en cherchant les moyens de verifier si une variable n'est pas definie, mais bon....
bref desolé de remonter le topic mais si t'as pas fini de changer tous les NULL de ta bdd, rémy, t'as qu'a essayer ceci :
je ne vois qu'est ce qui bloquerait ...?
je tombe ici en cherchant les moyens de verifier si une variable n'est pas definie, mais bon....
bref desolé de remonter le topic mais si t'as pas fini de changer tous les NULL de ta bdd, rémy, t'as qu'a essayer ceci :
if (empty($var) OR $var == NUL) { echo pas ok; }
if (!empty $var AND $var != NULL) {echo ok}
je ne vois qu'est ce qui bloquerait ...?
Salut !
Perso sur une base oracle ou les valeurs étaient en "(NULL)" ou même sans rien du tout j'ai détourné le problème en testant comme ceci :
if($var!='' && $var!=' ')...
Si ça peut aider quelqun ;)
Perso sur une base oracle ou les valeurs étaient en "(NULL)" ou même sans rien du tout j'ai détourné le problème en testant comme ceci :
if($var!='' && $var!=' ')...
Si ça peut aider quelqun ;)