Utilisation de variables PHP dans requête SQL

Résolu
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. 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. Merci !
      ... Mais je viens d'essayer et ça change rien héhé.
  2. 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. Yes ! ça marche. Merci à toi et à Freedomsoul !
  3. tu peux renvoyer ta requete ? :)
    1. 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>
      
      
    2. 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?
    3. 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.
    4. 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...