Page 1 sur 1

Erreur de requete ?

Posté : 10 mars 2005, 22:25
par dark_vidor
$req = mysql_query("select * from joueurs order by num_C desc limit '$i','$i+1'");
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/derniere/domains/derniere-bataille.com/public_html/script/index.php on line 24
for($i=1; $i<=$total; $i++)
{
   $ligne = mysql_fetch_array($req);
   $id = $ligne["id"];
   $email = $ligne["email"];
....
}
apparement il aime pas les $i dans la requete ??

Posté : 10 mars 2005, 22:27
par Xenon_54
LIMIT accepte un entier comme limite et non une chaine.
$req = mysql_query("select * from joueurs order by num_C desc limit $i, $i+1");
non?

Posté : 10 mars 2005, 23:19
par dark_vidor
non tjrs pas
une autre solution ? :roll:
je galere trop et si la requete fonctionne pas je ne peux pas avancer le reste :oops: :cry:

Posté : 10 mars 2005, 23:26
par mere-teresa
Que donne un echo() de la requête en sortie navigateur ?
[/u]

Posté : 10 mars 2005, 23:38
par dark_vidor
j'ai mi echo("$req"); et ça donne rien :?

Posté : 10 mars 2005, 23:43
par mere-teresa
j'ai mi echo("$req"); et ça donne rien :?
C'est normal, il faudrait plutôt mettre ta requête dans une variable (je parle de la chaîne de caractères là...) et faire
echo $sql;

Posté : 10 mars 2005, 23:48
par dark_vidor
$req = mysql_query("select * from joueurs order by num_C desc limit $i,$i+1");
	
   echo $req;
ça donne tjrs rien
:roll:

Posté : 10 mars 2005, 23:54
par mere-teresa
ça donne tjrs rien :roll:
$req = "select * from joueurs order by num_C desc limit $i,$i+1";
   echo $req;
Essaie comme ça !!!!!! :twisted:

Posté : 10 mars 2005, 23:59
par dark_vidor
ça donne
select * from joueurs order by num_C desc limit 1,1+1

select * from joueurs order by num_C desc limit 2,2+1

select * from joueurs order by num_C desc limit 3,3+1

select * from joueurs order by num_C desc limit 4,4+1

select * from joueurs order by num_C desc limit 5,5+1

select * from joueurs order by num_C desc limit 6,6+1

select * from joueurs order by num_C desc limit 7,7+1

select * from joueurs order by num_C desc limit 8,8+1
...

Posté : 11 mars 2005, 00:19
par mere-teresa
Donc ta requête est louche, tu ne vois pas ?
Au lieu d'un chiffre, il te met... 2+1, c'est étrange...mais l'Ordinateur ne se trompe jamais, c'est donc toi qui a fait une erreur. :)
Essaie donc ça :
$req = mysql_query("select * from joueurs order by num_C desc limit ".$i.",".$i+1);

Posté : 11 mars 2005, 00:28
par dark_vidor
hum nan en fait je crois que j'ai compris
je souhaite selectionner qu'une seule ligne a chaque coup donc ma requete doit plutot etre
$req = mysql_query("select * from joueurs order by num_C desc limit ".$i.",1");
dans l'interface phpmyadmin cette requete fonctionne mais dans la realité j'ai tjrs la meme erreur :?
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/derniere/domains/derniere-bataille.com/public_html/script/index.php on line 24

Posté : 11 mars 2005, 00:41
par mere-teresa
Qu'est-ce que tu mysql_fetch_array() ?
Et quelle est la ligne 24 ?

Bravo à toi d'avoir bien modifié ta requête, en tous cas...

Posté : 11 mars 2005, 01:20
par Hubert Roksor
Tu devrais changer le début de ton script en quelque chose comme:
$sql = 'SELECT *
        FROM joueurs
		ORDER BY num_C DESC
		LIMIT ' . $i;

if (!$result = mysql_query($sql))
{
	die("Erreur <b>'" . mysql_error() . "'<hr />" . nl2br($sql));
}
Quant à $i... je n'ai pas compris ce que c'était, je pense que tu as mal lu la doc sur LIMIT...

Posté : 11 mars 2005, 19:44
par dark_vidor
ligne 24 :
   $ligne = mysql_fetch_array($req);