[PHP] function... return

Résolu
balou01 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
balou01 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

alors voila j'ai un souci que je n'arrive pas a résoudre seul c'est pourquoi je sollicite votre aide...

Voila mon code de la page 1 (seulement ce qui nous interesse) :

function sql_count()
{
	$sql = "SELECT id FROM test_sex";
	
	$result = mysql_num_rows(sql_query($sql)) or die('Impossible d\'executer la requete');

	return $result;
}


et le code de ma page 2 (ce qui nous interesse seulement) :

sql_count();

echo $result;


Mon souci est que rien ne passe dans la variable "$result"....

autrement dit $result = NULL

Pourtant dans ma page 1 $result vaut bien quelque chose puisque si je remplace le
return $result;


par

echo $result;


mon nombre s'affiche bien...

Je suppose donc que j'utilise mal le "return" mais je ne comprends pas ni comment ni pourquoi je l'utilise mal... J'ai beau retourner la doc php dans tous les sens...

Je précise que l'erreur est bien au niveau PHP et non pas SQL (j'ai fais tout les tests)...
Je me connecte bien a la BDD ma table existe et elle est remplie ! ;)
Autre chose je fais bien un include de la page 1 dans la page 2 (ca me semble évident mais je le précise quand meme...)

Par avance merci



A voir également:

5 réponses

rasta67
 
salut,
ça fait très longtemps que j'ai pas fait de php mais bon...

normal dans ta page 1 $resultat est variable locale. donc pas accessible dans page2.

dans page 2 essayes :

<?

$resultat = sql_count();
echo $result;

?>
0
balou01 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
effectivement il semble que ca soit ca...

merci !!!

Mais a quoi sert le "return $result;" si il ne transmet pas la variable ???
0
rasta67
 
le $resultat est locale à la fonction...
$resultat est ce que ta fonction va renvoyer comme resultat...
tu peux pas y accéder en dehors...

l'interet du 'return' est de renvoyer une valeur,
ie tu peux faire $mavariable = mafonction();
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.
function sql_count()
{
	$sql = "SELECT id FROM test_sex";
	
	$result = mysql_num_rows(sql_query($sql)) or die('Impossible d\'executer la requete');

	return $result;
}


Une fonction renvoie ce qui est renvoyé par le return.
Pour l'utiliser, il faut soit l'affecter à une variable, soit l'intégrer dans une autre fonction.
Exemples :
$nombre = sql_cont();
echo sq_count();

Le $result de ta fonction n'existe que dans la fonction (voir la portée des variables dans la doc php).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
balou01 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci bien a vous deux !!!

en faite le return returne juste la valeur de la fonction et non la variable elle meme...

donc mon $result n'existe que a l'interieur de la fonction...

Je viens de comprendre!!

Encore merci a vous deux pour ces explications !!!
0