Sql syntax error ?

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 21:12

Bonjour,

j'ai une erreur que je ne comprend pas car ce script fonctionnait sans problème sur un autre hébergeur, là , je suis sur serveur privé avec version mysql 4.0.16 et php my admin 2.6.2 !

l'erreur :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT winz FROM membres WHERE pseudo='Maryse')' at line 1
le script :
<?php
$rv = mysql_query("SELECT COUNT(*) FROM membres WHERE com >(SELECT com FROM membres WHERE pseudo='$pseudo')") or die ('Erreur 12 : '.mysql_error());
$aqd = mysql_fetch_array($rv);
$acfr = $aqd['COUNT(*)'];  
?>
je ne comprend pas !

merci de votre aide !

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 21:18

Bonjour,

J'ai l'impression que MySQL et toi vous ne parlez pas de la même requête.

Selon MySQL la requête en question parle de 'winz'
SELECT winz FROM membres WHERE pseudo='Maryse'
chose que je ne vois pas dans la tienne.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 21:30

J'ai modifier mais cela n'a rien a voir !

Juste un oubli pour le forum

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 21:32

Comme tu comprendras,
Tu nous facilites pas la tâche, toi tu as le code et l'erreur, tu ne trouves pas.
Comment veux-tu que nous on trouve sans le code (le vrai) et l'erreur (la vrai) :?: :?: :?:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 21:32

Si tu préfère :

l'erreur :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT com FROM membres WHERE pseudo='Maryse'
et le code :
<?php
$rv = mysql_query("SELECT COUNT(*) FROM membres WHERE com >(SELECT com FROM membres WHERE pseudo='$pseudo')") or die ('Erreur 12 : '.mysql_error());
$aqd = mysql_fetch_array($rv);
$acfr = $aqd['COUNT(*)'];  
?>

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 21:36

Re,
Je reste persuadé que cette erreur ne corresponds pas à ce code.

Dans le message (au début) je devrais voir 'Erreur 12 : ', non :?: :?: :?:
Si je me fie à ça
or die ('Erreur 12 : '.mysql_error());
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 21:39

si ton script est inclut dans une autre page, l'erreur vient probablement de la page qui inclue (fait appele) à ce script
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 21:49

Re,
Je reste persuadé que cette erreur ne corresponds pas à ce code.

Dans le message (au début) je devrais voir 'Erreur 12 : ', non :?: :?: :?:
Si je me fie à ça
or die ('Erreur 12 : '.mysql_error());
j'ai juste retirer le Erreur 12 !!!! sinon,cette erreur correspond bien a ce script !

Ensuite,non,je n'utilise pas d'includes pour ce script !

Il fonctionnait très bien sur un autre hébergeur !

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 21:51

Re,

Sous quelle version de MySQL tu exécutes ce code ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 21:56

mysql 4.0.16 et Php My Admin 2.6.2 !

je pense que le problème vient de là mais comment y remédier ?

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 21:59

Re,

Donc ne sois pas étonné, les requêtes imbriquées sont supportées à partir de la version 4.1 comme tu peu le constater ICI
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 22:03

Aie !

j'ai regarder un peu ca et effectivement, voilà mon problème :(

J'ai vu que je pouvait me passer des sous-requetes pour mon code mais comment faire car je comprend pas grand chose !

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 22:18

Re,

Dis-nous ce que tu cherches à faire et la structure de ta table.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 janv. 2007, 22:31

C'est un code pour un classement !

Par exemple,le membre passe 10 commandes,c'est lui qui en a le plus,donc,il est premier dans la position !

par contre,la structure de la table ne servira pas a grand chose puisque je me base sur les "com" pour le classement !

sur le manuel de référence mysql,j'ai vu que l'on pouvait réecrire ce code sans effectuer de sous requetes , par exemple :

Code avec sous requete :

SELECT * FROM t1 WHERE id IN (SELECT id FROM t2);

le meme code mais sans sous requete :

SELECT t1.* FROM t1,t2 WHERE t1.id=t2.id;

et donc mon code avec sous requete :
SELECT COUNT(*) FROM membres WHERE com >(SELECT com FROM membres WHERE pseudo='$pseudo')
voilà,il faut donc refaire ce code mais sans sous requete comme dans l'exemple un peu plus haut. Le hic,je comprend pas !

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 22:38

Re,

En réalité tu veux un classement des membres en fonction du nombre de commandes, c'est ça?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein