Bonjour,
Voila je rencontre un petit problème avec mon code quand j'essaye de me connecte à ma base de données MySQL.
Je me connecte à ma base de données en utilisant le PDO mais en retour j'ai une erreur :
Fatal error: in C:\MAMP\htdocs\php\classes\MySQL\DataBase.php on line 57
Voilà mon code :
private function getPDO(){
if ($this->pdo === null) {
try {
$pdo = new PDO('mysql:dbname='.$this->db_name.';host='.$this->db_host, $this->db_user, $this->db_pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
die('Une erreur est survenue lors de la connexion à la base de données.');
}
$this->pdo = $pdo;
}
return $this->pdo;
}
J'ai recherché partout, je me suis relu beaucoup trop de fois :') Pouvez-vous m'aider à résoudre cette erreur?
ça y j'ai trouvé mon erreur :
$pdo = new PDO('mysql:dbname='.$this->db_name.';host='.$this->db_host.':8889', $this->db_user, $this->db_pass);
Comme j'utilise un port spécial, j'ai oublié de la précisé. Merci pour ton aide quand même :)
Bonjour,
La ligne 57 correspond à :
$pdo = new PDO('mysql:dbname='.$this->db_name.';host='.$this->db_host, $this->db_user, $this->db_pass);
Try catch c'est bien, et c'est encore mieux quand on utilise à fond.
Ajoute cette ligne dans le catch avant ton die :
echo 'Connexion échouée : ' . $e->getMessage();
Et dit moi si tu as un message.
Pour tester, et si je peux avoir ces infos.
Ajoute cete ligne juste avant le "new PDO" :
echo 'mysql:dbname='.$this->db_name.';host='.$this->db_host;