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 :

[pg_query() - postgreSLQ] SELECT avec WHERE ne fonctionne pas.


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur / Intégrateur Web Freelance
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur / Intégrateur Web Freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 12
    Points
    12
    Par défaut [pg_query() - postgreSLQ] SELECT avec WHERE ne fonctionne pas.
    Bonsoir à tous / toutes

    Je dois utiliser une base de données postgreSQL en PHP pour la première fois, et je constate qu'il y a quelques différences dans la syntaxe par rapport à MySQL.

    J'ai réussi à me connecter et à effectuer des requête simple avec du SELECT, mais lorsque je veux faire une requête un peu plus précise avec du WHERE, ORDER, etc ça ne fonctionne pas, je suppose qu'il s'agit d'un problème de syntaxe.

    En PHP / MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $req = 'SELECT * FROM `cabinets` WHERE `id_specialites` = "'.$spe['id'].'"';
    $sql_nbSpe = $db->query($req);
    En postgreSQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $queryNbSpe = pg_query($dbPost, "SELECT * FROM cabinets WHERE id_specialites = '".$spe['id']."');
    Cela ne fonctionne pas.

    Pourtant la requête ci-dessous fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $queryNbSpe = pg_query($dbPost, "SELECT * FROM cabinets");
    Je suppose quelqu'un a déjà rencontré ce problème, donc si vous pouvez me donner quelques tuyaux, choses à savoir c'est sympa. Je ne trouve pas grand chose sur le net...

    Merci

  2. #2
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Hello,

    je connais pas postgreSQL mais je vois une erreur dans ta syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $queryNbSpe = pg_query($dbPost, "SELECT * FROM cabinets WHERE id_specialites = '".$spe['id']."');
    tu oublie de fermer le " (tu vois d'ailleurs la parenthèse en rouge qui confirme cela)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $queryNbSpe = pg_query($dbPost, "SELECT * FROM cabinets WHERE id_specialites = '".$spe['id']."'");

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur / Intégrateur Web Freelance
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur / Intégrateur Web Freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Bonsoir

    Merci, je n'avais pas vu mais j'avais corrigé l'erreur et ça ne fonctionne pas non plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $queryNbSpe = pg_query($dbPost, "SELECT * FROM cabinets WHERE id_specialites = 10");
    J'ai essayé comme ça et ça ne fonctionne pas, il ne faut pas mette de cote ou double cote en postgreSQL apparemment.

    Je pensais avoir une réponse de quelqu'un ayant déjà utilisé le postgreSQL via des requêtes mais apparemment ce n'est pas très courant. En espérant avoir d'autres conseils ces prochains jours.

    Merci

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    1) Il vaut mieux éviter de relancer la guerre des étoiles !

    2) Il vaut mieux utiliser les requêtes préparées pour éviter les injections SQL.

    3) Il vaut mieux éviter de donner une chaîne de caractères en valeur pour une colonne qui attend un entier.

    4) "Cela ne fonctionne pas." n'est pas un message d'erreur ! Qu'est-ce qui ne fonctionne pas ? Y a t-il un message d'erreur PHP, un message d'erreur renvoyé par Postgresql ? Cela veut-il dire que la requête ne retourne pas de résultat alors qu'elle devrait ? ...

    4) La requête valorisée SELECT * FROM cabinets WHERE id_specialites = 10 fonctionne t-elle directement sur Posgresql ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MySQL] Commande SELECT avec LIMIT ne fonctionne pas
    Par frlobe dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2010, 16h44
  2. Réponses: 2
    Dernier message: 15/01/2007, 11h31
  3. besoin aide bouton avec effet zoom fonctionne pas.
    Par zicomoun dans le forum Flash
    Réponses: 3
    Dernier message: 13/06/2006, 08h15
  4. Réponses: 16
    Dernier message: 01/02/2006, 19h09
  5. [VBA-E]Select case qui ne fonctionne pas :(
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 31/01/2006, 12h13

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