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

Requêtes PostgreSQL Discussion :

Warning: pg_query() [function.pg-query]: Query failed: ERREUR:la relation etc


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Warning: pg_query() [function.pg-query]: Query failed: ERREUR:la relation etc
    Je viens d'installer phpPgAddmin 4.2.3 (PHP 5.3.0) dans Wampserver 2.0 pour pouvoir utiliser la base PostgreSQL 8.4 mais j'ai une erreur
    sur la fonction pg_query alors que la connexion à la base semble bien établie.

    Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $connexion = pg_connect("host=localhost dbname=BD_ZAC user=postgres password=postgres");
    if(! $connexion) {
    	echo "La connexion à la base BD_ZAC est impossible.";
    }	else {
    	echo "Connexion ok";
     
    	//On soumet cette requête au serveur
    	$result=pg_query($connexion, "SELECT Communes.Code_Insee, Communes.Nom_Com FROM Communes");
    	}
    ?>
    Et l'erreur renvoyée est la suivante :

    Connecxion ok
    Warning: pg_query() [function.pg-query]: Query failed: ERREUR: la relation « communes » n'existe pas LINE 1: SELECT Communes.Code_Insee, Communes.Nom_Com FROM Communes ^ in E:\wampserveur\www\Applications\testConnexionPostgres.php on line 20

    Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in E:\wampserveur\www\Applications\testConnexionPostgres.php on line 47

    Comment faire pour lever cette erreur ?

    Je ne connais pas grand chose dans l'utilisation web des bases de données. Mais j'aimerais basculer nos bases Access vers PostgreSQL.


    Merci de votre aide

  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
    Le message d'erreur laisse penser à un problème de distinction majuscules/minuscules.
    La table nommée Communes aurait été créée avec des guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE TABLE "Communes" (
    ...
    );
    mais dans la requête elle est accédée sans guillemets.

    Ce qu'il faut faire, c'est se fixer une convention: pour chaque identifiant (notamment tables et colonnes) il faut soit mettre des guillemets tout le temps, soit jamais, cette dernière solution étant évidemment la plus simple.

    Il faut savoir que certains logiciels comme pgadmin ont des interfaces de création de tables qui ajoutent implicitement les guillemets dans certaines circonstances (sans spécialement informer l'utilisateur des conséquences).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Effectivement, ma table a été créée avec des guillemets.
    Il me faut donc recréer la table sans les guillemets ? Où, y-a-t-il un moyen d'introdure les guillemets dans la requête ?

  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
    Citation Envoyé par magbouya Voir le message
    Effectivement, ma table a été créée avec des guillemets.
    Il me faut donc recréer la table sans les guillemets ? Où, y-a-t-il un moyen d'introdure les guillemets dans la requête ?
    Il est possible de renommer la table sans la recréer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE "Communes" RENAME TO communes
    Il est aussi possible de mettre des guillemets dans les requêtes, mais c'est à toi de choisir.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci estofilo.

    En virant les guillemets de la table et des colonnes, ça marche.

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

Discussions similaires

  1. Warning: include() [function.include]: Failed opening
    Par stephcache dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2010, 17h40
  2. [PostgreSQL] Warning: pg_query() [function.pg-query]: Query failed: ERREUR:
    Par magbouya dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/06/2010, 16h01
  3. ms query: me génére erreur au moment de l'actualisation
    Par haddani dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/03/2010, 03h28
  4. Réponses: 1
    Dernier message: 19/08/2009, 15h27
  5. Warning: include() [function.include]: Failed opening
    Par FotoXe33 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2009, 19h49

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