Erreur de connexion base de donnée PDO

Résolu/Fermé
Madriax Messages postés 96 Date d'inscription dimanche 23 mars 2014 Statut Membre Dernière intervention 7 août 2016 - 26 mai 2016 à 21:23
Madriax Messages postés 96 Date d'inscription dimanche 23 mars 2014 Statut Membre Dernière intervention 7 août 2016 - 27 mai 2016 à 17:00
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
26 mai 2016 à 23:59
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 dimanche 23 mars 2014 Statut Membre Dernière intervention 7 août 2016 1
Modifié par Madriax le 27/05/2016 à 00:07
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
27 mai 2016 à 00:27
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 dimanche 23 mars 2014 Statut Membre Dernière intervention 7 août 2016 1
27 mai 2016 à 17:00
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