Erreur de connexion base de donnée PDO

Résolu
Madriax Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -  
Madriax Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Lorsque j'ai voulu connecter ma base de donnée à mon site, je reçois l'erreur Erreur : SQLSTATE[28000] [1045] Access denied for user 'madriax1_dev'@'localhost' (using password: YES)

Pourtant j'ai réutilisé le script que j'avais pour tout mes autres sites, mais ça ne marche pas, pourtant j'ai tout les accès utilisateurs à la base de donnée.
Le code est le suivant:
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=(db_name)', '(username)', '(password)');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Voici quelques points à vérifier :
- Tu n'as pas les parenthèses dans ton "vrai" code de connexion j'espère ?!
- Et.. cette page web se trouve sur le même serveur que la BDD ou ailleurs ?
- Es-tu sûr et certain d'avoir écris tes identifiants EXACTEMENT comme il faut ?
- Si tu vas sur phpmyadmin, parviens tu à te connecter avec ces identifiants ?

0
Madriax Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   1
 
Non bien sûr que non les parenthèses sont remplacées par les identifiants.
Cette page se trouve en effet sur le même serveur que la bdd.
Et les identifiants sont correct, je peux y accéder depuis phpmyadmin :/
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu peux essayer ça (en modifiant les valeurs si nécéssaire)
<?php
$host = 'localhost';
$user = 'madriax1_dev';
$pwd  = 'xxxxx';
$dbname  = 'ta_bdd';
$charset = ";charset=UTF8"; //si tu veux avoir de l'utf8
 try{
   $pdo = new PDO("mysql:host=".$host.";dbname=".$dbname.$charset.",".$user.",".$pwd);
   $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	 $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
} 


Mais bon.... 999 fois sur 10000 ... c'est une erreur de frappe.... un espace en trop par exemple...

Assures toi également que ton fichier est bien encodé en utf8 sans bom. parfois des caractères invisibles peuvent mettre le bazar. ( pour vérifier, ouvre le avec notepad++ puis regarde dans le menu "encodage")
0
Madriax Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   1
 
Finalement j'ai trouvé le problème ! Le mot de passe commençais par "_" et ça ne fonctionnement bizarrement pas O.o En le retirant ça re fonctionne...

Merci pour ton aide !
0