Problème requête ne fonctionne pas en ligne

Résolu
bilouze Messages postés 28 Statut Membre -  
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.

4 réponses

  1. 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
  2. chico200987 Messages postés 856 Statut Membre 144
     
    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
    1. 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
    2. chico200987 Messages postés 856 Statut Membre 144
       
      Procédure ? Stockée ?
      0
    3. varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
       
      yep :)
      0
    4. chico200987 Messages postés 856 Statut Membre 144
       
      lol ok :)
      0
  3. chico200987 Messages postés 856 Statut Membre 144
     
    Et beh il a résolu sans même dire comment il a fait :/
    0
    1. bilouze Messages postés 28 Statut Membre
       
      Euh en fait c'est pas moi qui est mis en résolu -:)
      0
    2. 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
  4. bilouze Messages postés 28 Statut Membre
     
    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