Problème requête ne fonctionne pas en ligne

Résolu
bilouze Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai 1 requête qui fonctionnent en local mais pas en ligne. C' est une requête qui cherche une adresse e-mail dans la table :

$req = $bdd->prepare('SELECT id FROM membre WHERE email=:email');
$req->execute(array('email'=>$email));
if($req->rowCount()>0)
{
$valid = false;
$erreur = 'Cette adresse e-mail est déjà utilisée';
}

les autres requêtes fonctionnent, mais celle-ci ne fonctionne pas. Est-ce qu'il peut y avoir quelque chose dans la structure de la table en ligne qui puisse empêcher de faire une reqûete de comparaison comme celle-là ?
Merci de votre aide.
A voir également:

4 réponses

varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonjour,

Elle me semble bizarre ta requete....

SELECT id FROM membre WHERE email=:email

sa serait pas plutot

SELECT id FROM membre WHERE email='email';
0
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Tu dois surement utiliser un Framework PHP ou quelque chose parcequ'effectivement je ne connais pas la notation : [...]WHERE email=:email'

Donne nous un peu plus d'infos peut-être que.. Parceque la comme ca je vois pas du tout

Ou peut-etre en fait :
$req = $bdd->prepare('SELECT id FROM membre WHERE email=$email'); 
0
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
moi je la connais :p mais pas pour une requete :( , plutot dans le cas d'une procedure :s
0
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Procédure ? Stockée ?
0
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
yep :)
0
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
lol ok :)
0
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Et beh il a résolu sans même dire comment il a fait :/
0
bilouze Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Euh en fait c'est pas moi qui est mis en résolu -:)
0
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
pas grave, puisque tu as dit comment tu as fait pour résoudre.
0
bilouze Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Salut, la requête n'a rien de bizarre c'est une requête préparée avec marqueur nominatif -:)
Comme cette requête ne fonctionnait qu'en local, je l'ai modifié un peu par :

$req = $bdd->prepare('SELECT id FROM membre WHERE email=:email');
$req->execute(array('email'=>$email));
$data = $req->fetch();
if($data['id']!=NULL)
{
$valid = false;
$erreur = 'Cette adresse e-mail est déjà utilisée';
}

et la miracle, ça fonctionne !
Euh oui j'avais oublié de dire ce qui ne fonctionnait pas, c'est que la requête ne trouvait pas d'email correspondant dans la table alors qu'il y en avait bien une.
Voilà, mais bon c'est réglé!
0