Page 1 sur 1

afficher le résultat d'une commande select.

Posté : 07 juil. 2005, 03:34
par aloys
Bonjour, j'ai un problème dans la fonction pour afficher le résultat d'une commande select...
voila mon code:

$requete = "select * from immeubles where numerorue1='$numero1' and typerue1='$voie1' and nomrue1='$Rue1' ";
$execution = mysql_query($requete);
$resultat = mysql_fetch_object($execution);

echo " <b> $resultat->numerorue1";
...
mes variables sont bien reconnues ($numero1...) car si je fais un echo avant, ca me les renvoie bien

Mais il me donne comme message d'erreur : "mysql_fetch_object(): supplied argument is not a valid MySQL result resource " pour la ligne $resultat...

Je sais pas quoi faire !

edit mere-teresa : j'ai modifié ton titre. Ancien titre "Tout devrait marcher mais...'

Posté : 07 juil. 2005, 07:45
par matt_m
salut

tu as testé ta requete? elle est correcte et valide?
php ne te retournera une erreur sur le $execution si ta requete n'est pas valide et donc tu auras ce type d'erreurs
d'autre part, si tu fais un select *, tu risque de recuperer plusieurs enregistrements. donc soit tu parcours tes reponses avec un while soit tu tu teste si tu n'as bien qu'un seul enregistrement

Posté : 07 juil. 2005, 09:21
par guilt92
juste comme ca sans vouloir etre désagréable un titre plus explicite serait le bienvenue...

Posté : 07 juil. 2005, 11:30
par guilt92
j'avoue ne pas voir de probleme sauf eventuellement un problème de type mais il ne devrait pas être a l origine de ce message mais bon on peut tenter : dans ta base numerorue1 est un entier non ?

Car si oui il faudrait que ta requete soit :

$requete = "select * from immeubles where numerorue1=$numero1 and typerue1='$voie1' and nomrue1='$Rue1' ";

Re: afficher le résultat d'une commande select.

Posté : 07 juil. 2005, 11:35
par mere-teresa
Je dirais mm plus :
$requete = "select * from immeubles where numerorue1=".$numero1." and typerue1=".$voie1." and nomrue1='".$Rue1."' ";
Mais je suis pas sûre que ce soit l'origine de ton problème.

Posté : 07 juil. 2005, 11:41
par zeus
En SQL, quand on teste la comparaison sur une chaine de caractère, on utilise LIKE. Si on ne sait pas le type, on utilise LIKE. Il vaut mieux garder = quand on est sûr que c'est du numérique
$requete = "select * from immeubles where numerorue1 LIKE '".$numero1."' and typerue1 LIKE '".$voie1."' and nomrue1 LIKE '".$Rue1."' ";