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 :

requete avec tables conjointes et le where


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut requete avec tables conjointes et le where
    Bonjour a tous

    je cherche a comprendre ce qui se passe avec une nouvelle requete conjointe dont je change le where dans une et ca ne marche plus.

    j'ai une requete qui fonctionne bien en me servant du id dans la clause Where

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "SELECT M.id, M.ville, M.province, M.pays, M.sexe, M.age, M.statut,  M.pseudo,  M.description, M.photo,
    		M.categoriemembre, M.actif, DATE_FORMAT(date_inscription, '%d/%m/%Y') AS date_fr, C.membreID, C.enligne, C.statutenligne
    		FROM membreinscrit as M
    		LEFT OUTER JOIN contact as  C
    		ON M.id = C.membreID
    		WHERE M.id= ".$idMembre;
    mais dans l'objectif de faire du URl Rewriting dans mes pages dynamiques; je refait ma requete en me servant du pseudo au lieu du id du membre dans le Where.

    alors, je change mon where pour la colonne pseudo ainsi que la variable pseudo comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "SELECT M.id, M.ville, M.province, M.pays, M.sexe, M.age, M.statut,  M.pseudo,  M.description, M.photo,
    		M.categoriemembre, M.actif, DATE_FORMAT(date_inscription, '%d/%m/%Y') AS date_fr, C.membreID, C.enligne, C.statutenligne
    		FROM membres as M
    		LEFT OUTER JOIN contact as  C
    		ON M.id = C.membreID
    		WHERE M.pseudo= ".$membreChoisi;
    mais voila que ca , ca ne marche pas et me donne une erreur comme ceci :

    Erreur - table membres: Unknown column 'isaac' in 'where clause'
    Isaac c'est le nom de la variable $membreChoisi.

    alors pourquoi le nom de la variable est-il interprété dans le nom de la colonne ?

    espérant bien comprendre ce qui se passe ici
    merci
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE M.pseudo= '".$membreChoisi."'";

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A noter que si tu utilisais des requêtes préparées (via PDO ou mysqli), tu pourrais "juste" injecter la valeur en tant que paramètre et PHP se débrouillerait avec les quotes
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE M.pseudo= '".$membreChoisi."'";
    Bonjour
    j'ai essayé aussi avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE M.pseudo= $membreChoisi";
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE M.pseudo= "$membreChoisi;
    meme probleme
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  5. #5
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par Celira Voir le message
    A noter que si tu utilisais des requêtes préparées (via PDO ou mysqli), tu pourrais "juste" injecter la valeur en tant que paramètre et PHP se débrouillerait avec les quotes
    oui je veux bien mais pour l'instant une requete preparée avec PDO et avec ce type de requete conjointe, me parait aussi compliquer.
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  6. #6
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    et puis finalement merci jreaux62.
    c'est bien ca merci |
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait!
    Mark Twain.

  7. #7
    Invité
    Invité(e)
    Par défaut
    1/ as-tu testé la requete directement dans PHPmyAdmin ?

    2/ montre le code PHP d'execution

Discussions similaires

  1. [Toutes versions] Requete avec table liaison
    Par AidezMoiSvp dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/11/2013, 11h45
  2. Critère de requete avec table jointe
    Par Boid' dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/05/2013, 09h33
  3. [HIBERNATE] requete avec table d'association
    Par zybay dans le forum Hibernate
    Réponses: 1
    Dernier message: 14/06/2007, 12h59
  4. [SQL] Requete avec ordre correspondant à la clause WHERE
    Par yobogs dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/06/2007, 14h32
  5. Requete avec table temporaire
    Par Piolet dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/08/2006, 17h25

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