Utilisation de variables PHP dans requête SQL

Résolu
ReddInTheAbyss Messages postés 41 Statut Membre -  
Freedomsoul Messages postés 538 Statut Membre -
Salut !

J'ai un problème pour l'utilisation d'une variable Php dans une requête Mysql...
Après quelques recherches j'ai un code qui ressemble à ça :


<?php

	$idvilledest1 = mysql_query("SELECT ID_VILLE FROM VILLE AS idvilledest WHERE NOM_VILLE = ' ".$dest_ville['NOM_VILLE']." ' ");
	$idvilledest2 = mysql_fetch_array($idvilledest1);
	$idvilledest = $idvilledest2['idvilledest'];
?>

        <div class="coloc-text-14">1. <?php echo $idvilledest ?></div>



Bon, alors la variable php est évidemment $dest_ville['NOM_VILLE'].
La variable marche bien en dehors des requêtes, je peux l'afficher, du coup je vois pas pourquoi la requête m'affiche rien dans l'echo...

Votre aide est bienvenue ! Merci, bonne journée.

3 réponses

  1. Freedomsoul Messages postés 538 Statut Membre 97
     
    c'est simple, regarde plus attentivement ton where :

    "..... WHERE NOM_VILLE = ' ".$dest_ville['NOM_VILLE']." ' "

    il y a des espaces après / avant tes simples quotes

    donc il va te chercher
    ' nom_ville '
    et pas
    'nom_ville'

    :)
    1
    1. ReddInTheAbyss Messages postés 41 Statut Membre
       
      Merci !
      ... Mais je viens d'essayer et ça change rien héhé.
      0
  2. maka54 Messages postés 721 Statut Membre 80
     
    ta requete est fausse

    pour commencer Freedomsoul a raison les espaces sont en trop

    ensuite tu fais :

    $idvilledest2 = mysql_fetch_array($idvilledest1);
    $idvilledest = $idvilledest2['idvilledest'];


    mais $idvilledest2['idvilledest'] n'existe pas

    soit tu fais $idvilledest2['ID_VILLE']

    soit tu mets ton alias sur le champ et non pas sur ta table

    SELECT ID_VILLE AS idvilledest FROM VILLE
    1
    1. ReddInTheAbyss Messages postés 41 Statut Membre
       
      Yes ! ça marche. Merci à toi et à Freedomsoul !
      0
  3. Freedomsoul Messages postés 538 Statut Membre 97
     
    tu peux renvoyer ta requete ? :)
    0
    1. ReddInTheAbyss Messages postés 41 Statut Membre
       
      Ouep !
      Maintenant ça donne ça :

      <?php
      $idvilledest1 = mysql_query("SELECT ID_VILLE FROM VILLE AS idvilledest WHERE NOM_VILLE = '".$dest_ville['NOM_VILLE']."' ");
      		$idvilledest2 = mysql_fetch_array($idvilledest1);
      		$idvilledest = $idvilledest2['idvilledest'];
      		
      		?>
              <div class="coloc-text-14">1. <?php echo $idvilledest ?></div>
      
      
      0
    2. Freedomsoul Messages postés 538 Statut Membre 97
       
      Ok, et dans ta base de données, les valeurs ne contiennent pas d'espace ou autre avant / après ?
      par que si ta variable contient bien une valeur qui est dans ta base, y'a pas de raison que ça ne fonctionne pas

      Et pas d'erreur sql?
      0
    3. ReddInTheAbyss Messages postés 41 Statut Membre
       
      Non, tout ça est bon, mais comme l'a dit maka54 je mettais le "AS idvilledest" après la table et pas après le champ. Du coup maintenant ça marche ! Merci encore.
      0
    4. Freedomsoul Messages postés 538 Statut Membre 97
       
      Haaaa j'y ai pensé ><'

      ça me semblait bizarre aussi ! Bon... tant mieux ^^
      Mais c'est curieux qu'il ne t'affichait pas d'erreur du à ça...
      0