Erreur mysql : SQLSTATE[28000] [1045]

Résolu/Fermé
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 1 nov. 2013 à 21:35
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 2 nov. 2013 à 17:40
Bonjour

J'ai ce script :

<?php
date_default_timezone_set('Europe/Paris');
$date = date('d/m/Y');
$heure = date('H:i:s');

$host = "mysql.hostinger.fr";
$user = "u776754505_cms";
$password = "monmotdepasse";
$db = "u776754505_mc";

try {
$connexion = new PDO('mysql:host'.$host.';dbname='.$db.'; charset=utf8', $user, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
} catch (PDOException $e) {
echo 'Connexion échouée : ' . $e->getMessage();
}
?>

dans un fichier php, quand je test en local ça me fait :

"Connexion échouée : SQLSTATE[HY000] [2002] Aucune connexion n?a pu ?tre ?tablie car l?ordinateur cible l?a express?ment refus?e."

sur serveur ça me donne ceci :

"Connexion échouée : SQLSTATE[28000] [1045] Access denied for user 'u776754505_cms'@'localhost' (using password: YES)"

Mes identifiants sont bons (j'ai vérifier), comment faire pour que cela fonctionne ?


Merci d'avance
A voir également:

6 réponses

Utilisateur anonyme
2 nov. 2013 à 00:29
Bonjour

As-tu vérifié dans le manuel la syntaxe pour une connexion à mysql avec PDO ?
Tu as oublié le = après "host" :
$connexion = new PDO('mysql:host='.$host....
0
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
2 nov. 2013 à 10:17
Merci j'en encore un petit souci, en local (avec EasyPhp), il me dit

"hôte inconnu", tendis que sur serveur cela se passe comme il faut, y a t'il une config spéciale à mettre ?
0
Utilisateur anonyme
2 nov. 2013 à 11:30
Avec easyphp, ton hôe n'est certainement pas "mysql.hostinger.fr", mais probablement "localhost". De même que le user est probablement "root" et le mot de passe "" (vide). Quant à la base de données, L'as-tu bien créée avec le nom "u776754505_mc" ? L'as-tu seulement créée ?

Pour t'éviter de modifier tous ces paramètres chaque fois que tu passes d'easyphp au site en ligne, il vaut mieux les mettre dans un petit fichier inclus (par ex. identifiants.php) :
<?php
$host = ...;
$user = ...;
$password = ...;
$db = ...;
(il est préférable de ne pas mettre de ?> à la fin)

Et dans le script principal, tu remplaces ces lignes par
include identifiants.php;
Ce fichier sera différent en local et en ligne.
Quand tu transfères tes scripts de ton PC vers ton hébergeur, tu transfères les autres fichiers mais pas identifiants.php
0
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
2 nov. 2013 à 16:42
Je test avec EasyPhp, mais avec les identifiants de la base de donnés dans la location du serveur web, dans le script il n'y a pas de problème, puisque sur le serveur ça fonctionne c'est juste quand je test avec EasyPhp ça ne fonctionne pas et c'est avec le même code.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Non, il n'y a pas de problème dans le script lui-même, je n'ai jamais dit le contraire.
Mais si tu utilises les identifiants que ton hébergeur t'a donnés pour ton site en ligne, ça ne risque pas de marcher avec easyphp. Il faut utiliser les identifiants de php, c'est ce que j'ai essayé de t'expliquer.
0
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 17
2 nov. 2013 à 17:40
Ok, le problème c'est que j'ai du bidouiller les ports de EasyPhp pour ne pas être obliger de fermer skype quand j'utilise EsayPhp donc je ne peut pas passer par la base MySql locale. C'est pas grave ça fonctionne sur l'hébergeur donc sa va.

Merci pour ton aide
0