Hmm... le message d'erreur indique que le résultat de ta requête n'est pas valide... donc que ta requête sql n'est pas correcte... lorsque tu fais ton test, tu le fait avec une vraie requête sql ou avec la valeur "MA REQUETE" ?
Pour connaitre le nombre d'enregistrements, il y a deux solutions possibles qui dépendent un peu de ce que tu veux faire.
La première, c'est celle que tu utilises : tu lances une requête qui retourne tous les enregistrements dont tu as besoin et tu utilises mysql_num_rows() pour savoir combien il y en a (cf. l'exemple de caribou). L'avantage, c'est que tu peux exploiter directement les enregistrements que tu as récupéré. L'inconvénient, c'est que si tu voulais juste savoir combien il y a de résultats, tu as charger les enregistrements de ta base pour rien.
Une autre solution consiste à modifier ta requête pour que ce soit elle qui te retourne directement (et uniquement) le nombre d'enregistrements :
$sql = mysql_query("SELECT COUNT(*) AS total FROM ma_table");
$row = mysql_fetch_assoc($sql);
echo $row['total'];
L'avantage, c'est que si j'ai 10.000 enregistrements de type longtext, je n'ai pas besoin de les charger pour connaitre leur nombre. L'inconvénient, c'est que si j'ai besoin d'afficher mes enregistrements, il me faudra faire une nouvelle requête.
A toi de voir la solution qui correspond le mieux selon tes besoins

(alors bien sur, sur un petit nombre d'enregistrements, tu ne verras jamais la différence au niveau performance, mais avoir en tête les impacts éventuels de performances, c'est quand même une bonne habitude à prendre

)
Hmm... le message d'erreur indique que le résultat de ta requête n'est pas valide... donc que ta requête sql n'est pas correcte... lorsque tu fais ton test, tu le fait avec une vraie requête sql ou avec la valeur "MA REQUETE" ? :)
Pour connaitre le nombre d'enregistrements, il y a deux solutions possibles qui dépendent un peu de ce que tu veux faire.
La première, c'est celle que tu utilises : tu lances une requête qui retourne tous les enregistrements dont tu as besoin et tu utilises mysql_num_rows() pour savoir combien il y en a (cf. l'exemple de caribou). L'avantage, c'est que tu peux exploiter directement les enregistrements que tu as récupéré. L'inconvénient, c'est que si tu voulais juste savoir combien il y a de résultats, tu as charger les enregistrements de ta base pour rien.
Une autre solution consiste à modifier ta requête pour que ce soit elle qui te retourne directement (et uniquement) le nombre d'enregistrements :
[php]$sql = mysql_query("SELECT COUNT(*) AS total FROM ma_table");
$row = mysql_fetch_assoc($sql);
echo $row['total'];[/php]L'avantage, c'est que si j'ai 10.000 enregistrements de type longtext, je n'ai pas besoin de les charger pour connaitre leur nombre. L'inconvénient, c'est que si j'ai besoin d'afficher mes enregistrements, il me faudra faire une nouvelle requête.
A toi de voir la solution qui correspond le mieux selon tes besoins :) (alors bien sur, sur un petit nombre d'enregistrements, tu ne verras jamais la différence au niveau performance, mais avoir en tête les impacts éventuels de performances, c'est quand même une bonne habitude à prendre :))