Comparer si une valeur est null [Résolu]

Signaler
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015
-
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015
-
Bonjour,

je suis sur un projet et je rencontre un petit problème je ne m'y connais pas beaucoup en PHP du coup j'aurai besoin de votre aide , voila mon problème , j'aimerais vérifier si une entré existe dans ma base de donné SQL, j'utilise donc ceci , mais cela ne fonctionne pas , comment faire en sorte que cela fonctionne ?

$reponse = mysql_query("SELECT * FROM item WHERE id=1 AND name='ACE'") or mysql_error();

 // echo "Valeur : " .$donnees['count'];
 while($donnees = mysql_fetch_array($reponse))
 {
  if(empty($donnees))
  {
   echo "VIDE";
  }else{
   echo "N'est pas vide"
  }
 }


--

5 réponses

Messages postés
32419
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Bonjour.
Il faut mettre le nom du champ...
$donnee ['nomfuchamp']

Messages postés
32419
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Et si tu veux juste savoir si ta requête retourne quelque chose. .tu as pas besoin de la boucle. ..
Il suffit de faire :
If ($reponse){
//.....
}
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Merci de votre aide je test cela de suite , il me semble avoir essayez avec $reponse et ça ne fonctionnait pas mais ça doit etre moi qui est mal écrit quelque chose ^^
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Cela me renvoie page blanche :/
Messages postés
32419
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
$sql="SELECT * 
      FROM item 
     WHERE id=1 AND name='ACE'";
 $reponse = mysql_query($sql);

if($reponse ){
 while($donnees = mysql_fetch_array($reponse)) {
   echo "Valeur : " .$donnees['count'];
  }
}else{
echo "<br>La requête ne retourne aucune valeur ou est fausse";
echo "<br>".$sql;
}

Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Lorsque j'ai une valeur il me renvoie bien le count, mais dans le cas contraire lorsque je n'est rien il me renvoie page blanche:/
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

Bonjour,

Tout d'abord, je vous invite à ne plus utiliser les fonctions mysql_* qui sont marquées comme obsolètes dans le manuel PHP.

Ce sont des reliquats de mauvaises pratiques PHP.

A la place je vous conseil plutôt PDO, qui est portable, evolutif et plus sécurisé.

Sécurisé car les requêtes sont préparées càd que le problème de la sécurité des données entrantes est résolus.

Et pour en revenir avec votre problème, Jordane45 vous a donné la réponse.
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Le code que Jordane45 m'a donné me renvoie la valeur lorsque elle existe, mais lorsque elle n'existe pas j'obtiens une page blanche.
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Personne ne saurais pourquoi ?:/

--
Messages postés
32419
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Et avec ce code là ?

$sql="SELECT * 
      FROM item 
     WHERE id=1 AND name='ACE'";
 $reponse = mysql_query($sql);
 $Nb_reponses = mysql_num_rows($reponse);

//------------------------------------------------
// Le temps des tests :
//------------------------------------------------
 echo "<br> Nb  reponses = ".$Nb_reponses; 
//------------------------------------------------


if($reponse && $Nb_reponses>0){
 while($donnees = mysql_fetch_array($reponse)) {
    $count = isset($donnees['count'])?$donnees['count']:'no count';
    echo "Valeur : " .$count;
  }
}else{
	echo "<br>La requête ne retourne aucune valeur ou est fausse";
	echo "<br>".$sql;
}

avec celui là..Impossible que rien ne s'affiche sur la page......



Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 avril 2015

Cela fonctionne merci beaucoup !