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

Langage PHP Discussion :

Incorporation d'une variable dans la récupération d'une requête SQL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut Incorporation d'une variable dans la récupération d'une requête SQL
    Bonjour à tous !

    comme le titre l'indique (ou pas), j'aurai besoin d'aide pour un code php/sql
    Je suis en train de créer un site et j'ai besoin de faire un champs de recherche personnalisé. Je récupère donc le nom de mes champs dans des variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $select = "nom_de_la_table.nom_champs1, nom_de_la_table.nom_champs2..."
    $where = "nom_de_la_table.nom_champs1 = 'toto', nom_de_la_table.nom_champs2='titi'..."
    Lorsque j'exécute ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req=mysql_query ('select "'.$select.'" from table1, table2 where "'.$where.'"') or die ("requete impossible !");
    elle s'exécute sans problème. Par contre, je n'arrive pas a récupérer le résultat.
    Je m'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $ligne= mysql_fetch_array($req);
    $res=$ligne["$select"];
     
    $req2=mysql_query ("select nom_de_champs from table_concerné where nom_de_champs='titi'") or die ("requete impossible !");					
    $ligne2= mysql_fetch_array($req2);
    $res2=$ligne2['nom_champs_1'];
     
    echo "res: $res <br/>";
    echo "res2: $res2";
    La requête $req2 est en tout point identique à celle faite par les variables $select et $where.

    J'obtiens alors un résultat pour $res2 et aucun pour $res...
    Dans le test que j'ai fais, il n'y a qu'un seul champs dans le $select.
    Si quelqu'un peut m'aider, je vous en serai très reconnaissante !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Enlève les les guillemets dans ta requête $req autour de tes variables $select et $where.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut
    Merci pour la réponse mais ça ne marche pas sans. La requête plante. De plus, je récupère un résultat dans $req mais je n'arrive pas à l'extraire...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Ta requete plante si tu enlève les guillemets parce que dans ta variable $where tu utilise des apostrophes autour de tes valeurs. Je pense qu'il te suffit d'échapper ces apostrophes (\') pour que si tu enlève les guillemets la requete ne plante plus.

    En ce qui concerne ton problème de récupération des résultats de la requête $req, il faut que tu remplace le $select de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = $ligne["$select"];
    par le nom du champ que tu veux récupére, comme tu le fais avec la requête $req2

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut
    Donc tu pense qu'il n'existe pas de moyen générique pour récupérer la variable et qu'il faut que je fasse du cas par cas, c'est ça ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Je ne comprends pas trop ce que tu veux faire.

    Parce que si tu veux récupérer l'ensemble des champs dans une variable, utilise mysql_fetch_assoc au lieu de mysql_fetch_array, et ta variables $ligne les contiendra sous forme d'un tableau associatif.

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

Discussions similaires

  1. insérer une variable dans le nom d'une variable
    Par leninelenine dans le forum Général Python
    Réponses: 11
    Dernier message: 28/05/2015, 08h25
  2. Mettre une variable dans l'appel d'une variable de session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2011, 10h12
  3. Récupération d'une variable dans un lien
    Par Meloooo dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2009, 23h49
  4. [Dates] Récupération d'une variable dans whois ndd
    Par Arawn94 dans le forum Langage
    Réponses: 12
    Dernier message: 07/06/2007, 14h54
  5. Réponses: 3
    Dernier message: 29/05/2006, 23h46

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