afficher le résultat d'une commande select.

aloys
Invité n'ayant pas de compte PHPfrance

07 juil. 2005, 03:34

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...'

Administrateur PHPfrance
Administrateur PHPfrance | 250 Messages

07 juil. 2005, 07:45

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

Mammouth du PHP | 1353 Messages

07 juil. 2005, 09:21

juste comme ca sans vouloir etre désagréable un titre plus explicite serait le bienvenue...

Mammouth du PHP | 1353 Messages

07 juil. 2005, 11:30

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' ";

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 11:35

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 juil. 2005, 11:41

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."' ";
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer