[OK] Connexion à la base de donnée (bis)

Ici, un problème avec la création de votre script? Besoin d'aide pour concevoir une fonction en particulier? Bref, l'entraide qui n'entre pas dans les autres catégories se fait ici. Les membres peuvent ainsi s'entraider.

[OK] Connexion à la base de donnée (bis)

Messagepar Phantome » Ven Jan 06, 2012 5:29 pm

Bonjour,

Mon problème se situe au niveau de la fonction PDO.

J'ai deux classes :

La première permet la connexion à la base de données avec les fonctions obsolètes.
Mais elle affiche le résultat escompté.

Code: Tout sélectionner
<?php
class connexion_local{
         private  $host;
         private  $user;
         private  $pwd;
         private  $conn;
         private  $base;
         
         function connexion_local()
         {
            
            $this->host = 'sql21.free-h.org';
            $this->user = 'fuyu-kun';
            $this->pwd = '*********';
            $this->base = 'Forum';
            
            $this->conn = mysql_connect($this->host,$this->user,$this->pwd) or die("Echec connexion");
            mysql_select_db($this->base,$this->conn) or die("Echec database");
            
            $query = 'SET NAMES utf8';
            $result= mysql_query($query) or die('Erreur de requête');
            return $result;
            
         }
         function getHost(){return $this->host;}
         function getUser (){return $this->user;}
         function getPasswd(){return $this->pwd;}
         function getConn (){return $this->conn;}
         function getBase (){return $this->base;}
         function setBase ($base) { $this->base = $base;}
         function printConn()
         {
            echo "Vous êtes connectés sur la base de donnée ".$this->base." en tant que ".$this->user.'<br/>';
         }
         function sendQuery($query)
         {
            $result= mysql_query($query) or die('Erreur de requête');
            return $result;
         }
}

   $connect = new connexion_local();

   $result = $connect->sendQuery('select * from forum');
   while($row = mysql_fetch_array($result))
   echo $row[1].'<br/>';
   
?>


La deuxième est la même chose, sauf avec la fonction PDO, voici le code :
Code: Tout sélectionner
<?php

class connexion_db{
   
                   private  $host;
         private  $user;
         private  $pwd;
         private  $conn;
         private  $base;
         
         function connexion_db()
         {
            
            $this->host = 'sql21.free-h.org';
            $this->user = 'fuyu-kun';
            $this->pwd = '*********';
            $this->base = 'Forum';
            try{
            $this->conn = new PDO('mysql:host='.$this->hote.';dbname='.$this->base, $this->user, $this->pwd);
            }
            catch(Exception $e){
                  echo 'Erreur : '.$e->getMessage().'<br />';
                  echo 'N° : '.$e->getCode();
            }
            
         }
         function getHost(){return $this->host;}
         function getUser (){return $this->user;}
         function getPasswd(){return $this->pwd;}
         function getConn (){return $this->conn;}
         function getBase (){return $this->base;}
         function setBase ($base) { $this->base = $base;}
         function printConn()
         {
            echo "Vous êtes connectés sur la base de donnée ".$this->base." en tant que ".$this->user.'<br/>';
         }
         function sendQuery($query)
         {
            $result= $this->conn->query(".$query");
            return $result;
         }
}

   $connect = new connexion_db();
   
   $result=$connect->sendQuery('select * from forum');
   
   if($result == null) echo "Erreur de requete";
   else{
   
      $resultats->setFetchMode(PDO::FETCH_OBJ);
      while( $ligne = $resultats->fetch() ) // on récupère la liste des membres
      {
         echo 'Topic '.$ligne->id_forum.' : '.$ligne->nom_forum.'<br />'; // on affiche les membres
      }
      $resultats->closeCursor(); // on ferme le curseur des résultats
   }


Et une erreur s'affiche lors de mon test de connexion : Erreur : SQLSTATE[28000] [1045] Access denied for user 'fuyu-kun'@'localhost' (using password: YES)

Si vous pouviez m'aider, merci d'avance.

Phantome
Phantome
 
Messages: 8
Inscription: Jeu Nov 24, 2011 5:49 pm

Re: Connexion à la base de donnée (bis)

Messagepar Dakin Quelia » Ven Jan 06, 2012 5:36 pm

Bonjour Phantome,

Le code fonctionnait-il avant?

A bientôt,
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17135
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Connexion à la base de donnée (bis)

Messagepar Phantome » Ven Jan 06, 2012 6:15 pm

Je suis désolé de vous avoir fait perdre votre temps.

J'ai totalement réécrit ma classe et maintenant elle fonctionne.

Merci.

Phantome
Phantome
 
Messages: 8
Inscription: Jeu Nov 24, 2011 5:49 pm

Re: Connexion à la base de donnée (bis)

Messagepar Dakin Quelia » Ven Jan 06, 2012 6:21 pm

Mais pas de soucis, mais peut être, peux-tu partager ta solution pour d'autres. ;)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17135
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Connexion à la base de donnée (bis)

Messagepar Phantome » Ven Jan 06, 2012 6:22 pm

Je finis de réécrire ma class et je la poste ^^.
Phantome
 
Messages: 8
Inscription: Jeu Nov 24, 2011 5:49 pm

Re: Connexion à la base de donnée (bis)

Messagepar Dakin Quelia » Ven Jan 06, 2012 6:24 pm

Par contre, joins plutôt un fichier "TXT" avec le code dedans, s'il te plaît. ;)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17135
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique

Re: Connexion à la base de donnée (bis)

Messagepar Phantome » Ven Jan 06, 2012 6:53 pm

Voici, ma nouvelle classe de connexion en version PDO.
Tu le trouvera en fichier join au format txt^^.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Phantome
 
Messages: 8
Inscription: Jeu Nov 24, 2011 5:49 pm

Re: Connexion à la base de donnée (bis)

Messagepar Dakin Quelia » Ven Jan 06, 2012 7:04 pm

Je te remercie pour ceux que ça intéresse.

Et bonne continuation. ;)
Pas de support par message privé (mp) ou mail.
Avatar de l’utilisateur
Dakin Quelia
Staff
Staff
 
Messages: 17135
Inscription: Mer Jan 17, 2007 6:02 pm
Localisation: Belgique


Retourner vers Entraide générale



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités