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 :

Requête sql avec test d'une variable


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 37
    Points : 22
    Points
    22
    Par défaut Requête sql avec test d'une variable
    Bonjour à tous,
    J'aimerais sélectionner l'identifiant de la ville chaque fois que le nom est Paris. Lorsque je fais ce ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $p=0;
    $requete = mysql_query("SELECT id_ville FROM ville WHERE nom='Paris'"); 
    while($reponse=mysql_fetch_array($requete))
    {
    				$req_rep[$p]=$reponse['id_ville'];
    				$p++;}
    				print_r($req_rep);
    Il marche bien et m'affiche bien tous id_ville lorsque nom='Paris'.
    Mais lorsque je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     $vill='Paris';
    		     $p=0;
    			 $requete = mysql_query("SELECT id_ville FROM ville WHERE nom=' ".$vill." '"); 
                 while($reponse=mysql_fetch_array($requete))
    				{
    				$req_rep[$p]=$reponse['id_ville'];
    				$p++;}
    				print_r($req_rep);
    Il ne m'affiche rien. Même si je fais ou Je ne comprends pas pourquoi.
    Comment dois-je déclarer cette variable?
    Je vous remercie d'avance.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Enlèves les espaces: ' Paris ' n'est pas 'Paris'.

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $requete = mysql_query("SELECT id_ville FROM ville WHERE nom=".$vill);

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $requete = mysql_query("SELECT id_ville FROM ville WHERE nom=".$vill);
    Personnellement j'aime pas trop enlever les quotes, qu'est ce qu'il se passe s'il mets $ville = "Saint Germain les Prés" ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Merci pour vos réponses mais ça ne marche toujours pas.

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ville = 'Paris';
    mysql_query("SELECT id_ville FROM ville WHERE nom='{$ville}'");
    Par ailleurs tu t'es trompée dans le nom des variables: le résultat renvoyé par mysql_query est la réponse (et non la requête) quand au résultat renvoyé par mysql_fetch_*, c'est un tuple (et non une réponse).

    Mais bon c'est un détail.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Benjamin Delespierre lorsque je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vill = "Saint Germain les Prés";
    il n'affiche toujours rien (normal car je n'ai pas cette ville dans ma table); mais même avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vill="Aix-en-Provence";
    (qui est une ville de ma table), il n'affiche toujours rien

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Merci Benjamin Delespierre ça marche. Et merci aussi pour les noms de variables.

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Pour aller plus loin, voici un exemple de comment sécuriser ses requêtes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $connexion = mysql_connect('localhost', 'root', '');
     
    $ville = "Paris"; // peut provenir d'un forumlaire par exemple
    $ville = mysql_real_escape_string($ville, $connexion);
    $requete = "SELECT `id_ville` FROM `villes` WHERE `nom`='{$ville}'";
    if ($resultats = mysql_query($requete)) {
      while ($ligne_courante = mysql_fetch_assoc($resultats)) {
         echo "L'id de {$ville} est {$ligne_courante['id_ville']}";
      }
    }
    else {
      // on est jamais à l'abri d'une erreur
      echo "Erreur dans la requete de selection";
    }

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Merci Benjamin Delespierre.

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

Discussions similaires

  1. Requête SQL avec valeur d'une liste déroulante en critère
    Par Random Dude dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 23/07/2013, 14h14
  2. [MySQL] Requête sql avec test d'une variable très longue
    Par missmiss89 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/06/2011, 15h25
  3. cas d'école : Requête combinée avec test sur une colonne
    Par teuzadur dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 23/06/2011, 15h14
  4. Requête SQL avec une variable
    Par tony_95 dans le forum SGBD
    Réponses: 4
    Dernier message: 11/05/2011, 14h55
  5. Requète SQL avec nom de table contenu dans une variable
    Par samoussa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/05/2009, 14h58

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