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