Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1599 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probème Fetch Array + While

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probème Fetch Array + While

n°1469136
ncdetoulou​se
Posté le 02-11-2006 à 11:28:27  profilanswer
 

Bonjour à tous,
Voici deux lignes de code :
 
[...]
$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ); (Ligne 3)
while ( $row = mysql_fetch_array($r1)){ (Ligne 4)
[...]
 
Et cela m'affiche dans le navigateur:
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/web/www/test.php on line 4
 
Pourtant, quand je tape la requete SELECT mail FROM account ORDER BY mail ASC dans mon navigateur, cela fonctionne et affiche tous mes enregistrements.
 
Comment corriger mon While et mon Fetch Array pour que cela soit utilisable ?
 
Merci d'avance !

mood
Publicité
Posté le 02-11-2006 à 11:28:27  profilanswer
 

n°1469152
AlphaZone
Posté le 02-11-2006 à 11:42:00  profilanswer
 

as-tu testé si mysql_query retournait bien un résultat SQL ou bien false ? A mon avis non.

n°1469155
ncdetoulou​se
Posté le 02-11-2006 à 11:42:44  profilanswer
 

Non pas testé .. comment dois je faire ?

n°1469174
ncdetoulou​se
Posté le 02-11-2006 à 12:00:12  profilanswer
 

$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" );
if (!$r1) {
   die('Requête invalide : ' . mysql_error());
}
 
Là ca ne m'affiche aucune erreur ..

n°1469292
ncdetoulou​se
Posté le 02-11-2006 à 15:06:26  profilanswer
 

Ptit up :) Merci d'avance ..

n°1469452
chani_t
From Dune
Posté le 02-11-2006 à 17:23:22  profilanswer
 

$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ) or die ('Requête invalide : ' . mysql_error()); ... c'est plus mieux :D
if (countmysql_num_rows($r1)>0) {
while ($row=mysql_fetch_array($r1, MYSQL_ASSOC)) {
  ....
}
}
else { ..
}

(il est possible que ta requête renvois 0 réponse, auquel cas, il est normal que tu ais un warning)

Message cité 1 fois
Message édité par chani_t le 02-11-2006 à 17:43:19
n°1469454
naceroth
Posté le 02-11-2006 à 17:23:41  profilanswer
 

Et le reste des opérations liées à mysql dans ton script ne retourne pas d'erreurs lui non plus ? (le mysql_connect, mysql_select_db)

n°1469455
naceroth
Posté le 02-11-2006 à 17:27:39  profilanswer
 

chani_t a écrit :

$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ) or die ('Requête invalide : ' . mysql_error()); ... c'est plus mieux :D
if (count($r1)>0) {
while ($row=mysql_fetch_array($r1, MYSQL_ASSOC)) {
  ....
}
}
(il est possible que ta requête renvois 0 réponse, auquel cas, il est normal que tu ais un warning)


 
Pour répondre ce genre de conneries, tu peux t'abstenir hein, $r1 n'est pas un tableau, tu risques pas d'avoir une réponse à ton test...
 
PS : si la requête renvoit 0 réponse, le mysql_fetch_* retourne false et sort de la boucle, pas un warning.

n°1469463
chani_t
From Dune
Posté le 02-11-2006 à 17:41:06  profilanswer
 

naceroth a écrit :

Pour répondre ce genre de conneries, tu peux t'abstenir hein, $r1 n'est pas un tableau, tu risques pas d'avoir une réponse à ton test...
 
PS : si la requête renvoit 0 réponse, le mysql_fetch_* retourne false et sort de la boucle, pas un warning.


 
excuse moi Môssieur.... je me suis trompé.... votre sainteté.... :kaola:  
 
bon alors count c'est pour un tableau ... et moi je voulais utiliser mysql_num_rows()... mais bon la mémoire hein..
 
et pis pour le warning en effet je reconnais mon erreur.... mais bon il n'y a que ce qui ne réponde pas qui ne se trompe pas hein ... allez je ne t'en veux pas, t'es de mauvaise humeur... c'est pas ta faute  :o

n°1469490
ncdetoulou​se
Posté le 02-11-2006 à 18:13:35  profilanswer
 

Ca me renvoit ça :
 
Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 3
 
Donc ?

mood
Publicité
Posté le 02-11-2006 à 18:13:35  profilanswer
 

n°1469494
naceroth
Posté le 02-11-2006 à 18:30:00  profilanswer
 

chani_t a écrit :

excuse moi Môssieur.... je me suis trompé.... votre sainteté.... :kaola:  
 
bon alors count c'est pour un tableau ... et moi je voulais utiliser mysql_num_rows()... mais bon la mémoire hein..
 
et pis pour le warning en effet je reconnais mon erreur.... mais bon il n'y a que ce qui ne réponde pas qui ne se trompe pas hein ... allez je ne t'en veux pas, t'es de mauvaise humeur... c'est pas ta faute  :o


 
Pas une question de sainteté ni même de mauvaise humeur, tu interviens dans le sujet, le minimum serait quand même de ne pas le perdre encore plus en étant sûr de ta réponse, parce que 3 lignes, 2 erreurs, franchement...
 
(et je n'insiste même pas sur le fait que tu ne réponds pas à sa question...)

n°1469495
ncdetoulou​se
Posté le 02-11-2006 à 18:30:45  profilanswer
 

Heu .. toi non plus pour le coup ;)

n°1469496
naceroth
Posté le 02-11-2006 à 18:34:47  profilanswer
 

ncdetoulouse a écrit :

Heu .. toi non plus pour le coup ;)


 
Pas de ma faute si tu réponds pas à ma question hein...

n°1469497
ncdetoulou​se
Posté le 02-11-2006 à 18:35:45  profilanswer
 

Non, pas d'erreur sur le reste !
 
Mais ça : $r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ) or die ('Requête invalide : ' . mysql_error());
 
 
Ca retourne ça : Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 3

n°1469498
naceroth
Posté le 02-11-2006 à 18:38:57  profilanswer
 

On peut avoir l'intégralité du code qui précède ?

n°1469499
ncdetoulou​se
Posté le 02-11-2006 à 18:40:22  profilanswer
 

mysql_connect("ip","user","pass" );
mysql_select_db("db" );
$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ); or die ('Requête invalide : ' . mysql_error());

n°1469500
leflos5
On est ou on est pas :)
Posté le 02-11-2006 à 18:40:36  profilanswer
 

Ôtez moi d'un doute: y'a bien une connexion à mysql avant le mysql_query() :??:
 

n°1469501
ncdetoulou​se
Posté le 02-11-2006 à 18:40:44  profilanswer
 

Walla ;) Mais la Ligne 3 c'est celle que je t'ai donné ^^

n°1469502
ncdetoulou​se
Posté le 02-11-2006 à 18:41:01  profilanswer
 

Bien sur !!!!

n°1469505
naceroth
Posté le 02-11-2006 à 18:44:22  profilanswer
 

ncdetoulouse a écrit :

Walla ;) Mais la Ligne 3 c'est celle que je t'ai donné ^^


 
tellement la même qu'il y a un ; en plus dans la ligne 3 du message où tu me donnes le code complet :D
 
; qui est en trop donc.
 

Code :
  1. $connect = mysql_connect("ip","user","pass" ) or die('connection impossible');
  2. $db = mysql_select_db("db" ) or die('erreur de sélection de db');
  3. $r1 = mysql_query("SELECT mail FROM account ORDER BY mail ASC" ) or die('Requête invalide : ' . mysql_error());


Message édité par naceroth le 02-11-2006 à 18:47:46
n°1469510
ncdetoulou​se
Posté le 02-11-2006 à 18:48:12  profilanswer
 

Ca me renvoie maintenant :
 
Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 2

n°1469518
leflos5
On est ou on est pas :)
Posté le 02-11-2006 à 18:55:47  profilanswer
 

ncdetoulouse a écrit :

Ca me renvoie maintenant :
 
Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 2


 
Sur les 3 lignes il semble pas avoir d'erreur puisque par précaution de l'oubli visuel d'un truc à la con j'ai copié/collé et testé et ça marche ;)
 
Donc t'as une erreur quelque part avant si y'a du code avant ou tu sais pas copier/coller :whistle:

n°1469519
naceroth
Posté le 02-11-2006 à 18:56:06  profilanswer
 

Rhhhooo, recopie le code tel quel et te contente pas d'ajouter ce qui manque en oubliant de supprimer les points virgule à la fin de tes lignes de code.

n°1469534
ncdetoulou​se
Posté le 02-11-2006 à 19:21:50  profilanswer
 

Ca a marché !
Surement une erreur de copier coller en effet !
Tete de con moi ^^
lol Merci Naceroth et les autres!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probème Fetch Array + While

 

Sujets relatifs
s'échapper d'un while (cin>>string)...[PHP] passer un array dans l'URL pour inclure des pages en pseudo-fram
Trier un Array en fonction d'une colonne[PHP] Exploiter le premier elt d'un array retourné par une fonction?
array : supprimer une valeur dans un arrayplusieurs condition dans une boucle while
[PHP] Array dans une requète SQLBesoin d'un test d'arrêt du While efficace!!!
Comment travailler avec un array de bit???[Javascript/PHP] Récuperer le contenu d'un array et le passer par GET
Plus de sujets relatifs à : Probème Fetch Array + While


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR