Problème confirmation en BDD

Résolu
Bonjour, Quand je veux vérifier si "confirme" == 0 c'est à dire de savoir si l'utilisateur à confirmer son compte avec le code si dessous :
if (isset($_GET['pseudo'], $_GET['key']) AND !empty($_GET['pseudo']) AND !empty($_GET['key'])) {
$pseudo = htmlspecialchars(urldecode($_GET['pseudo']));
$key = htmlspecialchars($_GET['key']);

$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND confirmkey = ?");
$requser-> execute(array($pseudo, $key));
$userexist = $requser->rowCount();

if ($userexist == 1) {
$user = $requser->fetch();
if ($user['confirme'] == 0) {
$updateuser = $bdd->prepare("UPDATE membres SET confirme = 1 WHERE pseudo = ? AND confirmkey = ?");
$updateuser->execute(array($pseudo, $key));
echo "Votre compte a bien été confirmé";
}


Il me retourne cette erreur : Fatal error: Uncaught Error: Cannot use object of type stdClass as array à la ligne 27 soit "if($user['confirme'] == 0"

Merci d'avance !

1 réponse

  1. Salut,

    L'erreur indique que tu ne peut pas utiliser la variable $user comme un tableau car il s'agit d'un objet :
    if ($user->confirme == 0)


    Au passage, l'utilisation de htmlspecialchars sur les données avant l'insertion en bdd n'est pas recommandée.

    Bonne journée,
    1. Aaah merci beacoup Pitet :D !

      Bonne journée !