[RESOLU] Variable dans un PDO::__construct

Eléphanteau du PHP | 39 Messages

07 août 2012, 14:16

Bonjour à tous,

pour un site, je dois faire une fonction PDO pour me connecter à la DB, rien de bien extravaguant. Pour construire la nouvelle connexion, je veux utiliser des variables qui sont dans un fichier config.php que j'include en haut de ma page. La variable qui contient le nom d'utilisateur fonctionne, mais pour une raison qui m'échappe, le mot de passe ne fonctionne pas.
$PDO = new PDO ('mysql:host=localhost;dbname=nomDeLaDB',$user,$password);
Quand je lance, j'ai une erreur qui dit que je n'utilise pas de mot de passe. J'ai essayé sans variable et tout fonctionne.

Quelqu'un a une idée ?

Merci.
“We spend money that we do not have, on things we do not need, to impress people who do not care.”
― Will Smith

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 août 2012, 14:59

C'est plutôt bizarre ton histoire...
Si tu fais un echo de $user et de $password juste avant ton appel à PDO, est-ce que tu as bien les bonnes valeurs qui apparaissent ? (sans espace en trop devant ou derrière)
Est-ce que ton user dispose bien d'un mot de passe sur ta base de données et est-ce que le mot de passe qui apparaît est bien le bon ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 39 Messages

07 août 2012, 15:08

Oui c'est bien le bon mot de passe qui est stocké dans la variable et le user a les droits, si j'écris directement le username et le password dans la requête, je n'ai pas de problème. J'ai même copié coller les valeurs pour en être sûr. Il me semble que si le user n'aurait pas l'autorisation, l'erreur ne dirait pas que je n'utilise pas de mot de passe alors que c'est le cas. Je n'ai aucune idée qu'est-ce qui pourrait causer ce problème et ça m'empêche d'avancer dans mon projet ...
“We spend money that we do not have, on things we do not need, to impress people who do not care.”
― Will Smith

Eléphanteau du PHP | 39 Messages

07 août 2012, 21:09

Un ami m'a fait remarquer mon problème, c'est tout simplement que les variables ne sont pas globale, donc ils sont null. Je programme habituellement en AS3 et je n'ai jamais de problème semblable, mais je saurais pour le prochaine fois !

Merci.
“We spend money that we do not have, on things we do not need, to impress people who do not care.”
― Will Smith