Comment tester résultat requête nul
Résolu
razily
Messages postés
250
Date d'inscription
Statut
Membre
Dernière intervention
-
razily Messages postés 250 Date d'inscription Statut Membre Dernière intervention -
razily Messages postés 250 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà ce problème semble facile ; mais j'ai passé énormément du temps pour trouver la solution ; en fait voilà y a une requête qui recherche le nom et prénom d'une personne
et si le nom n'y figure pas dans la base ; dans cet exemple le nom kim n'existe pas
et normalement le résultat devra être :
mais y l'écran affiche une page blanche
j'ai déjà essayé :
merci d'avance pour vos réponses
voilà ce problème semble facile ; mais j'ai passé énormément du temps pour trouver la solution ; en fait voilà y a une requête qui recherche le nom et prénom d'une personne
et si le nom n'y figure pas dans la base ; dans cet exemple le nom kim n'existe pas
et normalement le résultat devra être :
echo 'aucun kim dans la base '."<br />";
mais y l'écran affiche une page blanche
<?php $cnx = odbc_connect( "DSN_personnes", "root", "" ) or die("Impossible de se connecter à la bas de donnée") ; $sql = "SELECT * FROM [perso nnes] where nom like 'kim' "; $requete = odbc_do($cnx, $sql) ; //affichage des données: while( $result = odbc_fetch_object( $requete ) ) { if(!empty($result->nom)) { echo $result->nom." ".$result->prenom." <br>"; } else { echo 'aucun kim dans la base '."<br />"; } } ?>
j'ai déjà essayé :
if(!empty($result)) { echo $result->nom." ".$result->prenom." <br>"; } else { echo 'aucun kim dans la base '."<br />"; }
merci d'avance pour vos réponses
A voir également:
- Comment tester résultat requête nul
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Tester composant pc - Guide
- Lexer resultat - Télécharger - Sport
4 réponses
Peut être faut-il tester une égalité avec la chaîne "".
ou alors peut être que
$sql = "SELECT * FROM [perso nnes] where nom like 'kim' ";
contient un espace de trop : [perso nnes] ?
ou alors peut être que
$sql = "SELECT * FROM [perso nnes] where nom like 'kim' ";
contient un espace de trop : [perso nnes] ?
Faut que tu fasse un mysql_num_rows($requete)
Il te retourne le nombre de résultats, si il est égal a zéro, tu fais afficher le message, sinon tu continu avec ton code :
Il te retourne le nombre de résultats, si il est égal a zéro, tu fais afficher le message, sinon tu continu avec ton code :
while( $result = odbc_fetch_object( $requete ) ) { ........
j'ai suivi ce que Manny78 a répondu
je crois qu'il y a un problème ;
on entre jamais dans le else mais si le nom existe
$requete = odbc_do($cnx, $sql) ; $affected = odbc_num_rows($requete); if($affected==-1) { echo 'aucun kim dans la base '."<br />"; } else { //affichage des données: while( $result = odbc_fetch_object( $requete ) ) {
je crois qu'il y a un problème ;
on entre jamais dans le else mais si le nom existe
en fait j'ai trouvé ce qui semble être la solution et çà marche
en tout cas merci à tous !!
<?php $cnx = odbc_connect( "DSN_personnes", "root", "" ) or die("Impossible de se connecter à la bas de donnée") ; $sql = "SELECT nom , prenom ,count(nom) as nombre FROM [perso nnes] where nom like 'kim' group by nom , prenom "; $requete = odbc_do($cnx, $sql) ; // echo 'la requete '. $requete ."<br />"; $affected = odbc_fetch_row($requete); // echo $affected."<br />"; if($affected!=1) { echo 'aucun kim dans la base '."<br />"; } else { // si on ne met pas cette ligne , il affiche le suivant sans passer à la première valeur $affected = odbc_fetch_row($requete,0); //affichage des données: while( $result = odbc_fetch_object( $requete ) ) { //if($result!=-1) { echo $result->nom." ".$result->prenom." <br>"; } }
en tout cas merci à tous !!