Page 1 sur 2
Compter les entrées d'une table
Posté : 14 mai 2006, 13:57
par agité
je voudrais compter le nombre d'entrées sur ma base de donnée et j'utilise donc la commande :
Mais il me retourne toujours la même erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\profil.php on line 210
Posté : 14 mai 2006, 14:08
par Vaedan
L'erreur vient du fait que taz requête n'est pas valid.
Une requete SQL SELECT est de la forme :
Code : Tout sélectionner
SELECT champs FROM table [WHERE conditions [LIMIT enregistrements [etc ]]]
Ainsi si tu veux compter tu dois faire :
Total va être le nom du champ contenant le nombre d'enregistrements.
EDIT: meilleure explication
Posté : 14 mai 2006, 14:12
par agité
j'utilise bien la 2eme forme mais il ne me retourne toujousr la même erreur et la synthaxe est tout a fait correct.
Je ne comprends pas pourquoi il me retourne toujours cette erreur a cette ligne ...
Posté : 14 mai 2006, 14:16
par popi
SAlut agité, tu peux nous montrer la requête complète ?
Posté : 14 mai 2006, 14:20
par agité
Je suis au boulot et j'ai pas le code sous la main

je vous donne ca quand je rentre chez moi mais c'est de la forme :
$nb = mysql_query("SELECT COUNT (*) As nb FROM `matable` LIKE '".$SESSION['login']."' ");
$var = mysql_fetch_array($nb);
echo $var['nb'];
Posté : 14 mai 2006, 16:17
par Truc
affiche la requête générée pour vérifier qu'elle est complète niveau variables.
En passant l'exemple du 1er post n'as rien à voir avec le dernier exemple qui devrait fonctionnner si la variable de session est bien affectée et en ajoutant un pti WHERE

Posté : 14 mai 2006, 20:30
par agité
$nb = mysql_query("SELECT COUNT (*) AS nb FROM `mix` WHERE nom LIKE '".$_SESSION['login']."' ");
$var=mysql_fetch_array($nb);
et j'ai une erreur en faisant
echo "Musique en ligne (".$nb.")";
Une idée

Posté : 14 mai 2006, 21:47
par agité
plutôt :
echo "Musique en ligne (".$var['nb'].")";
comme echo mais toujours la même erreur
Posté : 14 mai 2006, 22:49
par Truc
décompose l'exécution pour pouvoir afficher la reqête:
$sql="SELECT COUNT (*) AS nb FROM `mix` WHERE nom LIKE '".$_SESSION['login']."' ";
echo $sql;
$nb = mysql_query($sql);
$var=mysql_fetch_array($nb);
vérifie que la variable de session passe bien.
Posté : 14 mai 2006, 23:01
par agité
la dessus pas de problème la variable de session passe sans problème je l'utilise ailleur sur cette page et il me l'affiche bien la il m'indique qu'a la ligne 213 ca merde :
$var=mysql_fetch_array($nb);
Posté : 14 mai 2006, 23:02
par Cyrano
il m'indique qu'a la ligne 213 ca merde...
Ton serveur MySQL est vraiment vulgaire, tu devrais le mettre à jour, le mien ne m'a jamais envoyé ce genre de message

Posté : 14 mai 2006, 23:13
par Truc
Parfois je préfèrerais voir ce genre de message que des
"Unknown error on line ... " que peut nous rapporter la console JS de IE
au moins ça peut faire rire un moment.
Sinon ajoute un mysql_error() pour afficher le message d'erreur en rapport avec l'exécution.
Posté : 14 mai 2006, 23:44
par agité
ralala ces jeunes hein
Bah j'vais essayer de comprendre le pourquoi du comment mais c'est pas sur la synthaxe que ca merde mais plutôt sur la requete je pense donc je vais tester tout un par un
Posté : 14 mai 2006, 23:52
par agité
Code : Tout sélectionner
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS nb FROM `mix`
pourtant ma synthaxe est correct non ?
Posté : 15 mai 2006, 07:01
par Cyrano
Quand tu postes ce genre de message, mets la requête utilisée avant le message d'erreur qu'on puisse avoir un élément à analyser: ta requête a dû évoluer depuis le début du sujet, mais tu ne l'indiques pas...
Fais-nous un copier/coller de la requête.