Problème requête ne fonctionne pas en ligne

Résolu/Fermé
bilouze Messages postés 27 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 2 août 2012 - 18 août 2010 à 13:54
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 18 août 2010 à 15:18
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.

4 réponses

varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
18 août 2010 à 14:50
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 mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
Modifié par chico200987 le 18/08/2010 à 14:54
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 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
18 août 2010 à 14:54
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 mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
18 août 2010 à 14:56
Procédure ? Stockée ?
0
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
18 août 2010 à 15:00
yep :)
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
18 août 2010 à 15:06
lol ok :)
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
18 août 2010 à 15:14
Et beh il a résolu sans même dire comment il a fait :/
0
bilouze Messages postés 27 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 2 août 2012
18 août 2010 à 15:17
Euh en fait c'est pas moi qui est mis en résolu -:)
0
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
18 août 2010 à 15:18
pas grave, puisque tu as dit comment tu as fait pour résoudre.
0
bilouze Messages postés 27 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 2 août 2012
18 août 2010 à 15:15
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