[PHP] MySQL & PDO problème pour récupérer une variable

Bonjour,

Je n'arrive pas à récupérer 2 de mes variables (en base de données) ($clebdd & $actif).
Je pense que je me suis emmêler les pattes entre MySQL et PDO...

Pour le code il est disponible ici :http://pastebin.com/KURDQwD6

Merci d'avance pour votre aide...

9 réponses

  1. En faite je ne m'y connais pas du tout en PDO et je suis un peu perdu...
    Voilà le lien vers le tutoriel d'origine : http://m-gut.developpez.com/tutoriels/php/mail-confirmation/

    Merci pour votre aide
    1. Bonjour spprl,

      A tout hasard :
      "SELECT cle,actif FROM table_utilisateurs WHERE pseudo like '%$'", mysql_real_escape_string($splitInfo[0]);
      ??
      1. pourquoi ne pas faire du PDO plus simple ?

        $resultats=$connexion->query("SELECT membre FROM personne");
        $resultats->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
        while( $ligne = $resultats->fetch() ) // on récupère la liste des membres
        {
        echo 'Utilisateur : '.$ligne->membre.'<br />'; // on affiche les membres
        }
        $resultats->closeCursor(); // on ferme le curseur des résultats
        1. essayes :

          "SELECT cle,actif FROM table_utilisateurs WHERE pseudo like '%$pseudo%'"
          1. En faite la fonction n'arrive pas à effectuer la condition : if($cle == $clebdd) vue que $clebdd est vide.

            Je viens d'essayer de convertir le PDO en MySQL :

            Ça :

            $dbh = new PDO('mysql:host='.$BD_serveur.';dbname='.$BD_base, $BD_utilisateur, $BD_motDePasse);
            $stmt = $dbh->prepare("SELECT cle,actif FROM table_utilisateurs WHERE pseudo like :pseudo ");

            if($stmt->execute(array(':pseudo' => $pseudo)) && $row = $stmt->fetch())
            {
            $clebdd = $row['cle']; // Récupération de la clé
            $actif = $row['actif']; // $actif contiendra alors 0 ou 1
            }

            Par ca :

            $sql = mysql_query("SELECT cle,actif FROM table_utilisateurs WHERE pseudo like '$pseudo'")or die(mysql_error());
            if(mysql_num_rows($sql) != 0)
            {
            $row = mysql_fetch_assoc($sql);
            $clebdd = $row['cle']; // Récupération de la clé
            $actif = $row['actif']; // $actif contiendra alors 0 ou 1
            }

            Mais erreur de syntaxe SQL :'(
            1. fais un try catch , ou/et un print_r($row) dans le if pour voir ce que ça te retourne
              1. oups, c'est moi qui n'ai pas vu que vous utilisez la méthode prépare
                1. Sans succès :( j'ai une erreur :

                  Fatal error: Call to undefined method PDOStatement::exec() in /homepages/23/d428118323/htdocs/activation.php on line 72