j'ai fait une verification afin de savoir si un email existe dans la BDD et s'il me retourne 0 afficher une erreur

mais la ça fonctionne pas si ça me retourne 0 je n'ai pas l'erreur qui s'affiche

$req = $bdd->prepare('SELECT COUNT(mail) as count FROM membres WHERE mail=:email');
$req->execute( array(
    'email' => $_POST['email']
));
$reponse = $req->fetch();
$total_mail = $reponse['count'];

if ($erreur=='0' && $total_mail==0) {
    $affiche_erreur = 'Cet email n\'existe pas dans notre base de donnée';
    $erreur++;
}

2 réponses


AaFrederic Husson
Auteur
Réponse acceptée

en fait j'ai cherché loin pour rien c'était juste un problème d'apostrophe dans le texte
j'utilise sweet alerte pour afficher mes erreurs

Bonjour.
J'ai l'impression que tu cherches à comparer une valeur de type string avec un valeur de type int.
Pour information 0 et '0' sont deux valeurs différentes, je parle bien sûr pour ta variable $erreur.
Car si tu l'incrémentes avec $erreur++ la valeur d'origine de la variable ne peut être que de type int, soit 0 et non '0'.
Il est donc normal que tu ne rentres jamais dans la condition étant donné que la valeur de ta variable $erreur ne peut pas être égale à '0', soit à une valeur de type string.