[RESOLU] prb local / distant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] prb local / distant

Re: prb local / distant

par weri » 18 mai 2013, 14:21

Salut moogli,

Oui, j'ai accès à la console phpmyadmin de mon serveur distant, et j'ai testé ma requête avec une valeur en dur. C'est dingue tous les trucs auxquels on ne pense pas quand on est seul devant son écran...

Donc, je confirme, en local, avec les même données dans la base, ça marche, mais sur le serveur distant, j'ai ce message : #1111 - Invalid use of group function

pour, donc, cette requête :
SELECT SUM( flw_points.points ) , flw_points.user_id
FROM flw_points
INNER JOIN user ON flw_points.user_id = user.key_id
WHERE user.concepteur =  '0'
AND flw_points.id_lang =  'fr'
GROUP BY flw_points.user_id
ORDER BY SUM( flw_points.points ) DESC 
LIMIT 0 , 30
Et voici ce qu'il faut faire :
SELECT SUM( flw_points.points ) AS somme, flw_points.user_id
FROM flw_points
INNER JOIN user ON flw_points.user_id = user.key_id
WHERE user.concepteur =  '0'
AND flw_points.id_lang =  'fr'
GROUP BY flw_points.user_id
ORDER BY somme DESC
Merci beaucoup !

Re: prb local / distant

par moogli » 18 mai 2013, 12:24

salut,


est ce que tu as un message d'erreur ?

as tu accès à un phpmyadmin ou directement une console mysql pour tester la requête avec une valeur en dur ?

as tu des données correspondant à la requête :)

@+

prb local / distant

par weri » 18 mai 2013, 10:36

Bonjour,

C'est la première fois que ça m'arrive, une requête qui marche en local ne renvoie rien sur le serveur distant.

En local, j'ai Apache avec :
Version du client MySQL: 5.1.41
Extension PHP: mysqli

En distant :
Version du client MySQL: 4.1.25
Extensions PHP utilisées: mysql

J'imagine que le fait que le serveur distant soit en mysql4 doit induire des changements...

Voici ma requête :
SELECT SUM(flw_points.points), flw_points.user_id
FROM flw_points
INNER JOIN user
ON flw_points.user_id=user.key_id
WHERE flw_points.id_lang='$lg_cible'
GROUP BY flw_points.user_id
ORDER BY SUM(points) DESC;
$result=mysql_query($chainesql);
while($enreg =mysql_fetch_row($result)){
array_push($points_arr,$enreg[0]);
array_push($ids,$enreg[1]);
}
Y aurait-il une syntaxe nouvelle dans la version 5 qui n'est pas supportée par la 4 ? Autre chose ?
Merci,