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 :

PHP MySQL erreur no. 1045 et no. 2002, chaîne de connexion concaténée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut PHP MySQL erreur no. 1045 et no. 2002, chaîne de connexion concaténée
    Bonjour,

    J'ai un problème qui vous paraîtra peut-être idiot, mais voici.

    Mon environnement :
    Windows 10, version 1067
    Apache 2.4.23
    PHP 7.0.10
    MySQL 5.7.14

    J'ai eu beau faire toutes les recherches possibles, mais en vain.
    Je me connecte à une base de données MySQL avec PHP comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      $_SESSION['nom_serveur']    // localhost  // nom du serveur
      $_SESSION['id_serveur']     // root       // id de l'utilisateur du serveur
      $_SESSION['passe_serveur']  // a          // mot de passe de l'utilisateur du serveur
      $_SESSION['nom_bdd']        // gch_jdb    // nom de la base de données
     
      $conn = new mysqli($_SESSION['nom_serveur'], $_SESSION['id_serveur'], $_SESSION['passe_serveur'], $_SESSION['nom_bdd']);
    Évidemment tout fonctionne bien, parce que c'est comme dans le livre.

    Mais voilà, je veux construire une chaîne de connexion permanente (concaténation des quatre variables de paramètres dans une seule variable nommée $_SESSION['conn_string']), à utiliser tout le long d'une session, comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      $a = $_SESSION['nom_serveur'] . ', ' . $_SESSION['id_serveur'] . ', ';
      $a = $a . $_SESSION['passe_serveur'] . ', ' . $_SESSION['nom_bdd'];
      $_SESSION['conn_string'] = $a;
     
      $conn = new mysqli($_SESSION['conn_string']);
    Mais là, la machine ne veut pas coopérer et me retourne le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      // ----------------------------------------------
      // Erreur no : 1045
      // Description : Accès refusée pour l'utilisateur
      // ''@'@localhost' (mot de passe: NON)
      // ----------------------------------------------
    Là je me suis dit que la mau... machine ne m'aurait pas comme ça, alors j'ai essayé d'ajouter des guillemets simples ou doubles, avec ou sans espace, comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      $a = chr(39) . $_SESSION['nom_serveur'] . chr(39) . ', ' . chr(39) . $_SESSION['id_serveur'] . chr(39) . ', ';
      $a = $a . chr(39) . $_SESSION['passe_serveur'] . chr(39) . ', ' . chr(39) . $_SESSION['nom_bdd'] . chr(39);
      $_SESSION['conn_string'] = $a;
     
      $conn = new mysqli($_SESSION['conn_string']);
    Mais rien à faire, la machine s'acharne à me faire la vie dure et me retourne le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      // ----------------------------------------------------------
      // Erreur no : 2002
      // Description : php_network_getadresses: getaddrinfo failed:
      // Hôte inconnu.
      // ----------------------------------------------------------
    Est-ce quelqu'un pourrait éclairer ma lanterne, car je suis à court d'idées ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    mysqli n'utilise pas des chaines de connexion mais 4 paramètres séparés :
    http://php.net/manual/fr/mysqli.construct.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mysqli = new mysqli($_SESSION['nom_serveur'], $_SESSION['id_serveur'], $_SESSION['passe_serveur'],  $_SESSION['nom_bdd']);
    De plus quel serait l'interêt d'avoir 4 variables en SESSION et une 5ème qui serait la concaténation des 4 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Mon but était justement d'en avoir une seule.

    Est-ce c'est possible avec PDO ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FB3] Flex - Php - Mysql erreur #1088
    Par verrue dans le forum Flex
    Réponses: 15
    Dernier message: 21/06/2011, 14h02
  2. [MySQL] PHP/MYSQL - Erreur de syntaxe près de '')' à la ligne 2
    Par Bobio569 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/05/2011, 19h22
  3. [PHP/MYSQL]Erreur de View
    Par toniox dans le forum Requêtes
    Réponses: 5
    Dernier message: 16/06/2006, 16h36
  4. [SGBD] [PHP/MySQL] erreur de syntaxe
    Par sagitarium dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/05/2006, 12h41
  5. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 17h38

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