Problème requête PDO

Problème requête PDO - PHP - Programmation

Marsh Posté le 18-08-2010 à 13:57:34    

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.

Reply

Marsh Posté le 18-08-2010 à 13:57:34   

Reply

Marsh Posté le 18-08-2010 à 14:27:37    

"Elle ne fonctionne pas", c'est pas vraiment très explicite pour t'aider.
 
Qu'est ce qu'il se passe ? Une erreur fatale PHP ? Une exception ? Qu'est-ce qui s'affiche ? Est-tu sûr que ta base de données a été correctement créée, ainsi que les différentes tables ? As-tu des données dans cette tables ?


---------------
Mon Feedback !
Reply

Marsh Posté le 18-08-2010 à 14:48:42    

Salut, en fait cette requête ne trouve pas d'email correspondant dans la table alors qu'il en existe bien une et ne m'affiche donc aucune erreur alors qu'elle devrait en afficher une.
Alors j'ai remplacer cet requête 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 là comme par magie ça fonctionne. Bizarre!

Reply

Marsh Posté le 20-08-2010 à 00:01:48    

Reply

Marsh Posté le 23-08-2010 à 02:44:06    

c'est pas de la magie, c'est que c'est comme ca que ca marche.
http://www.php.net/manual/fr/pdostatement.rowcount.php
rowCount() ne garanti pas le resultat apres un select et privilegie un COUNT() et un fetchColumn()
 


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
Reply

Marsh Posté le 23-08-2010 à 10:02:14    

C'est vrai, j'avais pas lu la notice -:) C'est bête que ça marche pas partout, je la trouvai simple et pratique cette fonction.
Enfin bon, merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed