Utilisation de variables PHP dans requête SQL

Résolu/Fermé
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013 - 25 oct. 2012 à 09:48
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 - 25 oct. 2012 à 10:12
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.

A voir également:

3 réponses

Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
25 oct. 2012 à 09:51
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
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
25 oct. 2012 à 09:55
Merci !
... Mais je viens d'essayer et ça change rien héhé.
0
maka54 Messages postés 698 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
25 oct. 2012 à 10:04
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
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
25 oct. 2012 à 10:06
Yes ! ça marche. Merci à toi et à Freedomsoul !
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
25 oct. 2012 à 10:02
tu peux renvoyer ta requete ? :)
0
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
25 oct. 2012 à 10:03
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
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
25 oct. 2012 à 10:08
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
ReddInTheAbyss Messages postés 30 Date d'inscription vendredi 28 septembre 2012 Statut Membre Dernière intervention 5 février 2013
25 oct. 2012 à 10:09
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
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 25/10/2012 à 10:15
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