Probleme avec pdo et addr email en php
Résolu
tgdn
Messages postés
35
Statut
Membre
-
tgdn Messages postés 35 Statut Membre -
tgdn Messages postés 35 Statut Membre -
Bonjour à tous :D
Je fais un site, et il y a un espace membres, sauf que pour s'inscrire tout va bien sauf le PDO avec php et mysql.
Je fais une requête préparée pour savoir si l'e-mail existe déjà ou non dans la table puis j'exécute la requête avec un array :
Je suis complètement bloqué.
Si vous pouviez m'aider ce serai super sympa de votre part. Merci.
Je fais un site, et il y a un espace membres, sauf que pour s'inscrire tout va bien sauf le PDO avec php et mysql.
Je fais une requête préparée pour savoir si l'e-mail existe déjà ou non dans la table puis j'exécute la requête avec un array :
try //On essaye de se connecter à la BDD
{
$bdd = new PDO('mysql:host=localhost;dbname=membres', 'root', '');
}
catch(Exception $e) //Si cela ne marche pas, on recupere l'erreur
{
die('Erreur : '.$e->getMessage());
}
$nombremail = $bdd->prepare('SELECT COUNT(*) FROM membres WHERE email = :email_inscr') or die(print_r($bdd->errorInfo()));
$nombremail->execute(array('email_inscr' => $_POST['email_inscr']));
if ($nombremail != 0) //Et c'est ici ou sa plante, je sais pas comment faire, alors j'ai écrit au pif : si n'est pas égal à 0.
{
//Votre adresse e mail est déjà utilisée par un membre...
}
Je suis complètement bloqué.
Si vous pouviez m'aider ce serai super sympa de votre part. Merci.
A voir également:
- Probleme avec pdo et addr email en php
- Comment creer un compte email - Guide
- Facebook piraté et adresse email changé - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Créer un compte email gratuit hotmail - Guide
2 réponses
$nombremail est un objet (PDOStatement), pas le résultat de la requête.
Pour gérer les erreurs, il ne faut surtout pas utiliser "or die" mais la structure "try catch" !
Pour gérer les erreurs, il ne faut surtout pas utiliser "or die" mais la structure "try catch" !
$nombremail = $bdd->prepare('SELECT COUNT(*) AS nb FROM membres WHERE email = :email_inscr');
$nombremail->execute(array('email_inscr' => $_POST['email_inscr']));
$donnees = $nombremail->fetch(PDO::FETCH_OBJ);
$nb = $donnees->nb;
$nombremail = $bdd->prepare('SELECT COUNT(*) AS nb FROM membres email = :email_inscr'); $nombremail->execute(array('email_inscr' => $_POST['email_inscr'])); $donnes = $nombremail->fetch(PDO::FETCH_OBJ); $nb = $donnes->nb; if ($nombremail != 0) { //Votre meail est deja utilisé par un membre... }Je crois que je me suis planté encore :P
Qu'est ce que je dois mettre à la place de if($nombremail != 0) ??
Merci.
Dans la ligne avant le "if", tu peux remplacer "$nb" par "$nombremail"
$nombremail = $bdd->prepare('SELECT COUNT(*) AS nb FROM membres email = :email_inscr'); $nombremail->execute(array('email_inscr' => $_POST['email_inscr'])); $donnes = $nombremail->fetch(PDO::FETCH_OBJ); $nb = $donnes->nb; if ($nb != 0) { $email_error1 = "Votre email est déjà utilisée par un membre."; $i++; $nombremail->closeCursor();J'ai ete inscrit et tout, je suis allé voir dans ma BDD tout y est, mais il me dit
Notice: Trying to get property of non-object in C:\wamp\www\inscription\registerok_fr.php on line 42
Ligne 42: $nb = $donnes->nb;
$nombremail = $bdd->prepare('SELECT COUNT(*) AS nb FROM membres email = :email_inscr');Ta requête est mauvaise