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
91
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

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é.
Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
79
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

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 !
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
91
tu peux renvoyer ta requete ? :)
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>

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