mysql : Problème avec une condition AND et deux tuples

Meeuuuhhh

WRInaute passionné
Bonjour,

Voilà mon problème :

J'ai cette requête :
Code:
SELECT 
clef
FROM 
abonnement 
WHERE 
email='".$email."' 
AND motDePasse='".$passe."' 
AND terminer=0

Elle fonctionne bien quand il n'y a qu'un tuple.

Par contre, lorsque depuis l'admin je fais une manip pour renouveler un abonnement, je me retrouve avec deux tuples absolument identique, à l'exception de l'id auto-incrémenté et du champ terminer : Celui de l'ancien tuple passe à 1 et celui du nouveau est à 0.

Ensuite la requête doit donc chercher la clef du tuple dont le champ "terminer" est à 0.
Mais là, ça bloque; Pourtant la condition est claire, il faut aller chercher la clef dans le tuble dont le champ terminer est à 0. Ca fonctionne quand il n'y a qu'un tuple, mais quand il y en a deux ça plante, même si le premier est à 1 et le second à 0.

J'espère que je suis clair.

Merci d'avance pour votre aide, car cela fait deux heures que je suis sur le problème.
 

skyll

WRInaute passionné
Peut être

Code:
SELECT 
clef
FROM 
abonnement 
WHERE email='$email' AND motDePasse='$passe' AND terminer='0'

les ".." sont inutiles il me semble...
mais je sais pas si ca va arranger ton soucis :)
 

skyll

WRInaute passionné
UsagiYojimbo a dit:
Sauf que email='$email' ne permet pas à PHP d'interpréter la variable $email.

8O

Euh.... alors aucun de mes sites ne doit fonctionner :)
et pourtant, je t'assure, ils fonctionnent bien :)

ex :
Code:
$query = "SELECT * FROM monchamp WHERE id='$monid'";
fonctionne à merveille
 

5_legs

WRInaute passionné
Qaund tu dis "ça ne fonctionne pas lorsqu'il y a 2 enregistrements" ça veut dire quoi ?

Pas de résultat du tout ?
Seulement le 1er ?
 

Meeuuuhhh

WRInaute passionné
Bwarf... Laisse tomber druart... Merci pour ta réponse... Passer trois heures sur ça... y'avait une deuxième requête en dessous... Pas mis la condition terminer=0 dans la deuxième... trois heures de perdues... Pour ça...

**edit**

Ah j'avais pas vu vos autres réponses. Merci à vous aussi et désolé pour le post bidon.
 

5_legs

WRInaute passionné
Meeuuuhhh a dit:
Bwarf... Laisse tomber druart... Merci pour ta réponse... Passer trois heures sur ça... y'avait une deuxième requête en dessous... Pas mis la condition terminer=0 dans la deuxième... trois heures de perdues... Pour ça...

**edit**

Ah j'avais pas vu votre autres réponses. Merci à vous aussi et désolé pour le post bidon.

Je me disais aussi ...

et puis un post bidon apporte parfois ... de l'eau ;-)
 

Discussions similaires

Haut