IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2019
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Erreur : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed
    Bonjour je rencontre un nouvelle erreur sur mon code php
    Sachant que je suis débutant je vien de me lancer pour coder un site web utilisant les base de donnees ect...
    pour commencer je connecte mon php a une base de donnees avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $host = "localhost";
        $dbname = "blog";
        $username = "root";
        $password = " ";
     
        try {
            $bdd = new PDO ('mysql:host=$host;dbname=$dbaname;', $username, $password);
        }
        catch (Exception $e) {
            die('Erreur : '.$e->getMessage());
        }
    et apres sa je recois cette erreur :
    Erreur : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed
    Je tiens a preciser que je n'ai pas de fichier .env

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    les guillemets simples désactivent l'injection des valeur de tes variables au sein de la chaîne de connexion :
    'mysql:host=$host;dbname=$dbaname;' reste 'mysql:host=$host;dbname=$dbaname;' alors que "mysql:host=$host;dbname=$dbaname;" devient mysql:host=localhost;dbname=blog;'.

    Au passage : tu as écrit $dbaname !

    Enfin, quand tu souhaites injecter des valeurs dans une chaîne : je te conseille fortement de prendre l'habitude d'utiliser des { }, comme ceci : "mysql:host={$host};dbname={$dbname};", les raisons sont multiples : meilleure vitesse de parsage car le {$ correspond à un token php : T_CURLY_OPEN ensuite l'utilisation des accolades ouvre de bien plus grandes possibilités sur l'injection de valeurs et autres codes.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2019
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Salut merci pour ta reponse voici mon code maintenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       $host = "localhost";
        $dbname = "blog";
        $username = "root";
        $password = " ";
     
        try {
            $bdd = new PDO ("mysql:host={$host};dbname={$dbname};", $username, $password);
        }
        catch (Exception $e) {
            die('Erreur : '.$e->getMessage());
        }
    Mais l'erreur :
    Erreur : SQLSTATE[HY000] [1045] Acc�s refus� pour l'utilisateur: 'root'@'localhost' (mot de passe: OUI)
    est encore la !

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    ben là c'est clair : la connexion à la base se fait correctement mais le couple : utilisateur/mot de passe est incorrect

  5. #5
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 229
    Points
    229
    Par défaut
    C'est l'espace dans le password =)
    Si pas de mot de passe, il faut écrire $password = ''; et non $password = ' ';.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/01/2019, 23h12
  2. [PDO] PDO Erreur de connexion ": SQLSTATE[HY000] [2002]"
    Par baffreux dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/04/2014, 16h40
  3. Réponses: 1
    Dernier message: 30/03/2012, 09h21
  4. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
    Par -Fly- dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/04/2011, 11h18
  5. Réponses: 5
    Dernier message: 29/05/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo