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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Erreur dans une fonction MAX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur dans une fonction MAX

n°1834034
tete278
Posté le 05-01-2009 à 13:53:55  profilanswer
 

Bonjour à tous et ... meilleurs voeux (on fait durer le plaisir encore quelques jours)
 
Je cherche à récupérer la plus grande valeur contenue dans le champ 'id' de la table exo_resultats et obtiens l'erreur suivante :  
Notice: Undefined variable: max in C:\Program Files\EasyPHP 2.0b1\www\Site\Espace membre\membreSuite.php on line 58
 
NB: La ligne 58 en question est la suivante:
$selmax = "SELECT * FROM exo_resultats WHERE id=(select MAX(id) from exo_resultats)";
 
J'ai beau chercher, ...., il doit bien y avoir une erreur mais j'avoue ne pas la voir.
J'ajoute que le champ id est bien présent dans la table exo_resultats, qu'il est de type int(10)  et que je teste avec PHP 5.2.0 et Mysql 5.0.27
 
Si une âme charitable et plus éclairée que la mienne voulait se pencher sur mon problème, ce serait avec grand plaisir.
 
tete278

mood
Publicité
Posté le 05-01-2009 à 13:53:55  profilanswer
 

n°1834166
olivthill
Posté le 05-01-2009 à 17:17:24  profilanswer
 

Peut-être que le problème viendrait d'une confusion entre les deux exo_resultats. Essayer

$selmax = "SELECT * FROM exo_resultats
 WHERE id=(select MAX(e2.id) from exo_resultats e2)";

n°1834355
tete278
Posté le 06-01-2009 à 08:15:33  profilanswer
 

Bonjour olivthill,
 
Merci pour ta proposition (que j'ai néanmoins du mal à comprendre mais que j'essaierai dès ce soir). Peux-tu me dire à quoi correspond ton e2 ?
Cordialement,
 
tete278

n°1834373
olivthill
Posté le 06-01-2009 à 10:06:15  profilanswer
 

Dans mon exemple, "e2" est un nom d'alias arbitrairement choisi. J'aurais pu prendre "toto". Les alias de table permettent de différencier des tables qui sont utilisés dans plusieurs endroits d'une requête.
N.B. je n'ai pas tester l'exemple parce que je ne dispose pas de MySQL donc je ne suis pas certain qu'il marche à 100%, mais il fonctionne sous Oracle. En tous cas, l'idée est d'utiliser des alias.

n°1835190
MagicBuzz
Posté le 07-01-2009 à 16:00:34  profilanswer
 

(ceci dit, je ne pige pas pourquoi ça ne marche pas la requête du début... ce serait pas un mysql < 4.1 par hasard ?)

n°1835212
olivthill
Posté le 07-01-2009 à 16:35:13  profilanswer
 

(La requête du début marche aussi sous Oracle.)

n°1835428
tete278
Posté le 08-01-2009 à 09:23:40  profilanswer
 

Bonjour à tous,
 
Merci pour vos interventions. Je confirme que j'ai testé sous PHP 5.2.0 et Mysql 5.0.27.
Cordialement,
tete278

n°1835441
couak
Posté le 08-01-2009 à 10:07:57  profilanswer
 

moi j'ai testé sous mysql 4.1 et ca marche :S

n°1836736
tete278
Posté le 12-01-2009 à 08:11:40  profilanswer
 

Bonjour à tous,
 
N'arrivant pas à résoudre ce problème, je me dirige vers autre chose, non sans remercier ceux et celles qui se sont penchés sur mon problème et clos la discussion.
Encore merci.
tete278

n°1836738
casimimir
Posté le 12-01-2009 à 08:27:40  profilanswer
 

ceci dit je ne vois pas pourquoi on cherche du coté de mysql pour ton erreur, car si je ne me plante pas ta ligne problématique c'est jamais que l'affectation de ta variable selmax avec du texte et php te dit juste qu'il considère le max a l'intérieur de ta string comme une variable.
 
-> ton erreur est du coté php


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Erreur dans une fonction MAX

 

Sujets relatifs
Erreur dans un programme basique en C[C] Interrompre une fonction qui attend une action utilisateur
erreur d'execution 424probleme fonction vba, le renvoi ne marche pas
Problème pour utiliser la fonction splitImpossible d'enlever une border + adapter bg en fonction de la réso
Erreur de truncatefonction srand()
VB6 / Message d'erreur : Next sans For dans boucle imbriquées, HELP!!Erreur :1064 Erreur de syntaxe près de
Plus de sujets relatifs à : Erreur dans une fonction MAX


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