SQL-PHP Impossible de rentrer dans une boucle
Fermé
jackson67
-
Modifié par jackson67 le 18/03/2011 à 17:56
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 21 mars 2011 à 11:48
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 21 mars 2011 à 11:48
A voir également:
- SQL-PHP Impossible de rentrer dans une boucle
- Easy php - Télécharger - Divers Web & Internet
- Retour a la ligne php ✓ - Forum PHP
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Boucle cmd - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
7 réponses
Dans ton while, l'argument pour mysql_fetch_array n'est pas $result_client mais $req_client
$req_client = mysql_query("SELECT bla bla bla")or die("erreur de connexion"); echo "hum? <br />"; while($result = mysql_fetch_array($req_client)) { echo "boucle ok <br />"; }
Devweb,
Effectivement dans le code que j'ai posté j'ai mis result_client à la place de req_client. C'est a force de faire des test du coup je me suis trompé en postant le sujet, mais en passant le bon argument j'ai le meme resultat, je vais essayer cette histoire de echo cette aprem car la je ne suis pas au bureau.
Ca ne m'etonnerai meme pas que ce soit cela
Effectivement dans le code que j'ai posté j'ai mis result_client à la place de req_client. C'est a force de faire des test du coup je me suis trompé en postant le sujet, mais en passant le bon argument j'ai le meme resultat, je vais essayer cette histoire de echo cette aprem car la je ne suis pas au bureau.
Ca ne m'etonnerai meme pas que ce soit cela
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
Modifié par Zep3k!GnO le 18/03/2011 à 18:00
Modifié par Zep3k!GnO le 18/03/2011 à 18:00
En fait c'est normal, tu n'as pas d'erreur sql c'est ta syntaxe qui est fausse :
équivaut à
Donc la comme tu peux le voir, il va exécuter les 2 commandes à chaque itération et donc à la première itération, il va faire ton mysql_fetch_assoc, mais il va aussi exécuter ton die !
Donc la syntaxe correcte est :
Zep3k!GnO
while($result = mysql_fetch_array($result_client)or die('Erreur SQL !<br>'.mysql_error()))
équivaut à
while( ($result = mysql_fetch_array($result_client)) || ( die('Erreur SQL !<br>'.mysql_error())) )
Donc la comme tu peux le voir, il va exécuter les 2 commandes à chaque itération et donc à la première itération, il va faire ton mysql_fetch_assoc, mais il va aussi exécuter ton die !
Donc la syntaxe correcte est :
while( $result = mysql_fetch_array($result_client) )
Zep3k!GnO
On est des rangers mec, des rangers...
akelo
Messages postés
52
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
28 mars 2011
11
18 mars 2011 à 19:13
18 mars 2011 à 19:13
$req_client = mysql_query("SELECT bla bla bla from table")or die("erreur de connexion");
http://formation-sites.blogspot.com/p/php.html
http://formation-sites.blogspot.com/p/php.html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zep3k!GnO,
j'ai compris ce que tu voulais me dire, ce que tu me propose de faire c'est ce que j'avais fait à la base.
Le "or die" je ne l'ai rajouté juste pour tester.
en faisant ca :
Le resultat est le meme, impossible de rentrer dans la boucle.
j'ai compris ce que tu voulais me dire, ce que tu me propose de faire c'est ce que j'avais fait à la base.
Le "or die" je ne l'ai rajouté juste pour tester.
en faisant ca :
$req_client = mysql_query("SELECT bla bla bla")or die("erreur de connexion"); echo "hum? <br />"; while($result = mysql_fetch_array($result_client)) { echo "boucle ok <br />"; }
Le resultat est le meme, impossible de rentrer dans la boucle.
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
21 mars 2011 à 11:48
21 mars 2011 à 11:48
il m est arrivé pareil. enleve le 1er echo ("hum?"), ca marchera
Hors sujet.... Tu crois que c'est en enlevant un echo que tu vas rentrer dans le while ?? ? :S
Bin si tu rentres pas dans ton while c'est p'tet car ta requête ne retourne aucune ligne :
Avec le mysql_num_rows tu vas t'assurer d'avoir des résultat et sinon ca t'affichera ta requête et tu pourra voir pourquoi elle ne retourne aucun résultat.
Hors sujet.... Tu crois que c'est en enlevant un echo que tu vas rentrer dans le while ?? ? :S
Bin si tu rentres pas dans ton while c'est p'tet car ta requête ne retourne aucune ligne :
$sSql = "SELECT bla bla bla"; $req_client = mysql_query($sSql)or die("erreur de connexion"); echo "hum? <br />"; if(mysql_num_rows($result_client) > 0){ while($result = mysql_fetch_array($result_client)) { echo "boucle ok <br />"; } }else{ echo "La requête n'a retournée aucun enregistrement : ".$sSql; }
Avec le mysql_num_rows tu vas t'assurer d'avoir des résultat et sinon ca t'affichera ta requête et tu pourra voir pourquoi elle ne retourne aucun résultat.