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

PostgreSQL Discussion :

Erreur de connexion Postgresql avec PHP


Sujet :

PostgreSQL

  1. #1
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut Erreur de connexion Postgresql avec PHP
    Bonjour à tous,
    Je suis entrain d'écrire un script de connexion à la base de données Postgress en php, mais dépuis tout à l'heure, je n'arrive pas à me connecter à l'aide de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start();
            include("./includes/identifiants.php");
            $conn=pg_connect($adresse,$port, $database, $nom, $motdepasse)or die ("Erreur de connexion " . pg_last_error($conn));
    dont le contenu du fichier identifiants.php se présente de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $adresse = 'localhost';
    $nom = 'postgres';
    $motdepasse = 'postgres';
    $database = 'gentil_db';
    $port="5432";
    ?>
    et le message d'erreur que je recoit est ceci:

    Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: fe_sendauth: no password supplied in C:\wamp\www\zend_test_site\connexion.php on line 4

    Warning: pg_last_error() expects parameter 1 to be resource, boolean given in C:\wamp\www\zend_test_site\connexion.php on line 4
    Erreur de connexion
    Voilà, je comprend par là que la connexion à la base n'est pas faite alors que j'utilise bien les bons identifiants et les mêmes que j'utilise quand je dois me connecter à cette même bqse via phpPgAdmin et qui marche.

    Merci
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Il faut mettre les options de connexion dans une chaîne de caractères sous la forme "host=$adresse port=$port etc..."

    Voir la doc de pg_connect

  3. #3
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut
    en effet, j'ai réussi à établir la connexion mais je rencontre un autre souci dans une requête d'insertion et j'ai ce message d'erreur:

    Requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pg_query($conn,'INSERT INTO membres (id, pseudo, motdepasse) VALUES (DEFAULT,'.$pseudo.','.$password.')')or die ('Erreur connexion'. pg_last_error($conn));
    et le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: pg_query() [function.pg-query]: Query failed: ERREUR: erreur de syntaxe sur ou près de « f635d0e0f3874fff8b581c132e6c7a7 » LINE 1: ...res (id, pseudo, motdepasse) VALUES (DEFAULT,xml,0f635d0e0f3... ^ in C:\wamp\www\zend_test_site\connexion.php on line 28
    Erreur connexionERREUR: erreur de syntaxe sur ou près de « f635d0e0f3874fff8b581c132e6c7a7 » LINE 1: ...res (id, pseudo, motdepasse) VALUES (DEFAULT,xml,0f635d0e0f3... ^
    J'essaie de chercher l'erreur de moi-même, je ne trouve pas!
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Pour injecter un litéral de type chaine de caractères dans une requête, il faut l'entourer avec des apostrophes et échapper la valeur à l'intérieur avec pg_escape_string().

    exemple avec une fonction réutilisable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function pgq($val)
    {
      return "'" . pg_escape_string($val) . "'";
    }
     
    $v1=pgq($pseudo);
    $v2=pgq($passwd);
     
    pg_query("INSERT INTO matable(id,pseudo,pass) VALUES(default, $v1, $v2);

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

Discussions similaires

  1. [Oracle] Erreur connexion Oracle avec php sous Wamp
    Par tchoukapi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/04/2012, 15h58
  2. Connexion à Firebird avec PHP
    Par genova dans le forum Connexion aux bases de données
    Réponses: 7
    Dernier message: 12/09/2006, 17h48
  3. [LDAP] problème connexion anonyme avec php à Active Directory
    Par anto48_4 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 02/03/2006, 16h50
  4. connexion à Postgresql par PHP
    Par toome dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 02/09/2005, 10h49
  5. Erreur de connexion à PostGresql via pgAdminII
    Par LS dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 21/08/2003, 09h51

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