Erreur lors vérif entrée existante dans bdd

Suivre ce topic
Ce topic est suivi par : Azee
Ce topic a été résolu
Azee

Azee Le 6 juillet 2016 à 02:01 (Édité le 25 janvier 2019 à 17:51)

Bonjour, 
J'ai suivi le tuto de PrimFx concernant l'espace membre et je l'ai adapté à ma sauce, j'ai repris le code concernant la vérification dans la base de donnée d'une entrée déjà existante mais j'ai une erreur.
igne 53 : $db_read_pseudo = $db -> prepare("SELECT pseudo FROM membres WHERE pseudo = ?");
ligne 54 : $db_read_pseudo -> execute(array($pseudo));
igne 55 : $pseudo_exist = $db_read_pseudo -> rowCount();
Voici un screenshot de l'erreur que j'ai : 
twinny

twinny Le 6 juillet 2016 à 02:53

bonjour, 
ta un " : " devant db_read_pseudo ligne 54
Azee

Azee Le 6 juillet 2016 à 02:56

Erreur de ma part quand j'ai tapé le message, j'ai éditer le topic.
twinny

twinny Le 6 juillet 2016 à 03:01

ta stocké ta variable de connexion à la base de donnée dans $db ?
Azee

Azee Le 6 juillet 2016 à 03:04

Yep, voici tous mon code pour que tu puisse mieux visualiser : 
<?php
   //Connexion à la base de données
   try{
   $host = "host:localhost;";
   $base = "espace_membres";
   $user = "***";
   $mdp = "***";
   $db = new PDO('mysql:'.$host.''.$base.';charset=UTF8;', ''.$user.'', ''.$mdp.'');
   $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   echo "Connexion à la base de donnée réussie";
   }catch(Exception $e){
      echo "Aie, erreur : $e->getMessage";
   }
   //Traitement du formulaire
   
   //On test si le formulaire à été envoyé
   if(isset($_POST['submit'])){
      //On test si les variables ne sont pas vides
      if(!empty($_POST['pseudo']) AND !empty($_POST['mail1']) AND !empty($_POST['mail2']) AND !empty($_POST['password1']) AND !empty($_POST['password2'])){
         $pseudo      = htmlspecialchars($_POST['pseudo']);
         $mail1      = htmlspecialchars($_POST['mail1']);
         $mail2      = htmlspecialchars($_POST['mail2']);
         $password1   = sha1(htmlspecialchars($_POST['password1']));
         $password2   = sha1(htmlspecialchars($_POST['password2']));

         //Verif pseudo
         if(strlen($pseudo) < 255){
            $db_read_pseudo = $db -> prepare("SELECT pseudo FROM membres WHERE pseudo = ?");
            $db_read_pseudo -> execute(array($pseudo));
            $pseudo_exist = $db_read_pseudo -> rowCount();
            //$pseudo_exist -> closeCursor();
               if($pseudo_exist == 0){
                  //$pseudo_info_ok == true;
                  echo "Yessssssssssss";
               }
         }
Ranarxhag

Ranarxhag Le 8 juillet 2016 à 10:52

La connexion a ta base de donnée n'est pas correcte ! 😀

Pour que ça fonctionne et si tu veux garder la manière que tu utilises pour pouvoir modifier plus facilement la configuration, il faut faire comme ceci :

<?php
$host = "localhost";
$base = "espace_membres";
$user = "***";
$mdp = "***";
$db = new PDO('mysql:host='.$host.';dbname='.$base.';charset=UTF8;', ''.$user.'', ''.$mdp.'');
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connexion à la base de donnée réussie";
}catch(Exception $e){
  echo "Aie, erreur : $e->getMessage";
}
Tu verras que j'ai simplement changé host: par host= et que j'ai rajouté dbname=

Ranarxhag
Azee

Azee Le 8 juillet 2016 à 11:46

Banale erreur, merci!
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte