Utilisation de variables PHP dans requête SQL

Résolu/Fermé
Signaler
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013
-
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
-
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

Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
96
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
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

Merci !
... Mais je viens d'essayer et ça change rien héhé.
0
Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
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
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

Yes ! ça marche. Merci à toi et à Freedomsoul !
0
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
96
tu peux renvoyer ta requete ? :)
0
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

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
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
96
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
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

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
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
96
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