Probème Fetch Array + While - PHP - Programmation
Marsh Posté le 02-11-2006 à 11:42:00
as-tu testé si mysql_query retournait bien un résultat SQL ou bien false ? A mon avis non.
Marsh Posté le 02-11-2006 à 12:00:12
$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 ..
Marsh Posté le 02-11-2006 à 17:23:22
$r1=mysql_query("SELECT mail FROM account ORDER BY mail ASC" ) or die ('Requête invalide : ' . mysql_error()); ... c'est plus mieux
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)
Marsh Posté le 02-11-2006 à 17:23:41
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)
Marsh Posté le 02-11-2006 à 17:27:39
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 |
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.
Marsh Posté le 02-11-2006 à 17:41:06
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... |
excuse moi Môssieur.... je me suis trompé.... votre sainteté....
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
Marsh Posté le 02-11-2006 à 18:13:35
Ca me renvoit ça :
Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 3
Donc ?
Marsh Posté le 02-11-2006 à 18:30:00
chani_t a écrit : excuse moi Môssieur.... je me suis trompé.... votre sainteté.... |
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...)
Marsh Posté le 02-11-2006 à 18:34:47
ncdetoulouse a écrit : Heu .. toi non plus pour le coup |
Pas de ma faute si tu réponds pas à ma question hein...
Marsh Posté le 02-11-2006 à 18:35:45
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
Marsh Posté le 02-11-2006 à 18:40:22
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());
Marsh Posté le 02-11-2006 à 18:40:36
Ôtez moi d'un doute: y'a bien une connexion à mysql avant le mysql_query()
Marsh Posté le 02-11-2006 à 18:40:44
ReplyMarsh Posté le 02-11-2006 à 18:44:22
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
; qui est en trop donc.
Code :
|
Marsh Posté le 02-11-2006 à 18:48:12
Ca me renvoie maintenant :
Parse error: parse error, unexpected T_LOGICAL_OR in /home/thechien/web/www/test.php on line 2
Marsh Posté le 02-11-2006 à 18:55:47
ncdetoulouse a écrit : Ca me renvoie maintenant : |
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
Marsh Posté le 02-11-2006 à 18:56:06
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.
Marsh Posté le 02-11-2006 à 19:21:50
Ca a marché !
Surement une erreur de copier coller en effet !
Tete de con moi ^^
lol Merci Naceroth et les autres!
Marsh Posté le 02-11-2006 à 11:28:27
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 !