Erreur avec la fonction MAX

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 : Erreur avec la fonction MAX

Erreur

par tete278 » 08 janv. 2009, 17:36

Effectivement, c'était bien ça. Merci @rthur ainsi que tous ceux qui ont réfléchi sur mon cas.

tete278

par @rthur » 08 janv. 2009, 09:26

$id = rows['id']; 
->
$id = $rows['id']; 
Tu aurai pu trouver l'erreur par toi-même là ;)

Erreur

par tete278 » 08 janv. 2009, 09:18

Bonjour @rthur et merci pour ton intervention,

J'ai comme tu le préconisais modifié mon script qui devient le suivant :
// Code
58:$selmax = "SELECT * FROM exo_resultats ORDER BY id DESC LIMIT 1";
59:$result =mysql_query($selmax,$link) or die ('Erreur :'.mysql_errno().mysql_error());
60:$rows = mysql_num_rows($result);
61:while ($rows=mysql_fetch_array($result))
62:{
63: $id = rows['id'];
64:}
65:echo $id;


J'ai maintenant l'erreur suivante : Parse error: parse error, unexpected '[' in C:\Program Files\EasyPHP 2.0b1\www\Site\php\Espace membre\membreSuite.php on line 63

Je rappelle que je souhaite connaître la plus grande valeur du champ id.

Cordialement,

tete278

par @rthur » 06 janv. 2009, 09:50

Et tu regardes dans le bon fichier (membreSuite.php) ?

Parce l'erreur que tu rencontres est une erreur PHP or tu utilises la fonction MAX de MySQL donc PHP ne devrait voir ta requête avec MAX que comme une chaine de caractères (et donc ne peut pas lever d'erreur pour cela).

Si tu ne trouves pas essaye avec ma requête SQL qui n'utilise pas MAX et qui est plus optimisée que celle que tu utilises à l'heure actuelle.

Erreur avec la fonction MAX

par tete278 » 06 janv. 2009, 09:43

Bonjour @rthur,

Merci tout d'abord pour ton intervention.
Parce que l'on est souvent trop sûr de soi, je viens de faire une recherche (avec CTRL + F) et confirme qu'il n'y a nulle part le terme MAX dans mon script, ailleurs que dans cette ligne 58. Il semble qu'il y aie une confusion entre la fonction MAX et une variable.
Aurais-tu une autre piste.
Merci encore.
tete278

par @rthur » 06 janv. 2009, 09:34

Bonjour,

Ton message d'erreur indique que le problème est à cause d'une variable $max non définie, or il n'y a pas cette variable dans la ligne que tu nous donne => tu ne regarde pas la bonne ligne.

Par ailleurs, je pense que ta requête MySQL peut être simplifiée comme ceci:
$selmax = "SELECT * FROM exo_resultats ORDER BY id DESC LIMIT 1";

Erreur avec la fonction MAX

par tete278 » 06 janv. 2009, 09:27

Bonjour à tous,

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