select max(id) et clause where

WRInaute passionné
Bonjour,

Voilà, je peux avoir un ou plusieurs tuples avec le même email et le même mot de passe.
Je veux récupérer l'id le plus élevé (le dernier enregistrement donc) parmi tous les tuples ayant le même email et le même mot de passe.

Donc j'ai fait ça :
Code:
$affiche="
SELECT 
max(id) as id,
clef
FROM 
Abonnement 
WHERE 
email='".$email."' 
AND motDePasse='".$passe."'


Mais ça ne renvoie rien. 8O

Voyez-vous le problème :?:

Merci d'avance :!:
 
WRInaute accro
$affiche="
SELECT
max(id) as id,
clef
FROM
Abonnement
GROUP BY
email, motDePasse, clef
HAVING
email='".$email."' AND motDePasse='".$passe."'


PS : attention à la sécurité de ton code ; j'espère que tes variables email et passe sont "filtrées" avant d'être incluses dans ta requête :roll:
 
WRInaute passionné
Oui mes requêtes sont filtrées et archi-filtrées, avec expression-régulière + mysql_real_escape_string etc... etc...

Bon en effet le max(id) est un peu plus compliqué à utiliser que ce que je pensais.

Je comprends pas trop le rôle du GROUP BY ici.



**edit**

En fait ce serait mieux de le faire avec last() ici, je crois.
 
Discussions similaires
Haut