fonction select count???[resolu-merci!] - PHP - Programmation
Marsh Posté le 21-01-2006 à 19:47:31
L'erreur que tu fais c'est de croire qu'on est magiciens...
A moins que je ne bigle ta requête parait bonne...tu as essayé de l'exécuter à la main pour voir?
Tu as testé le retour de mysql_query? C'est lui qui doit te retourner false, là, à priori...
Marsh Posté le 21-01-2006 à 23:10:41
ReplyMarsh Posté le 21-01-2006 à 23:11:41
Ce que le monsieur te dit, c'est qu'avec ce que tu nous donnes, on peut pas vraiment situé l'erreur. Syntaxiquement, ta requête est bonne mais remplace ta ligne 160 par
Code :
|
et donne nous le message d'erreur.
Marsh Posté le 21-01-2006 à 23:36:00
Champ '1' inconnu dans where clause
edit: ou plutot Champ '1' inconnu dans field list
Marsh Posté le 22-01-2006 à 02:31:55
Tiens... tu utilises quelle version de mysql ?
Essaye un
Code :
|
voire la même requête sans la clause where en cas d'erreur.
Marsh Posté le 22-01-2006 à 17:56:45
ReplyMarsh Posté le 22-01-2006 à 19:08:35
l'erreur est pas dans la requete SQL mais dans PHP:
tu veux le champs "nbre_entrees"
alors utilise
while ( $donnees = mysql_fetch_assoc ($retour) )
{....
}
plutot que
while ( $donnees = mysql_fetch_row ($retour) )
{...
}
mysql_fetch_row() comme son nom l'indique recupere une ligne entiere (row) ou...plusieurs lignes si plusieurs occurences ;-) ).
mysql_fetch_assoc() va chercher le champs demandé ($donnes['nbre_entrees']) dans la ligne
essaie ca et dis nous si ca marche
Marsh Posté le 22-01-2006 à 20:02:30
jokari34 a écrit : l'erreur est pas dans la requete SQL mais dans PHP: |
Certes, aussi, mais c'est pas vraiment l'explication du message d'erreur...
rut a écrit : Champ '1' inconnu dans where clause |
Il est de quel type, ton champs groupes ?
Marsh Posté le 22-01-2006 à 21:49:09
mysql_fetch_assoc fait le meme resultat
champs=groupes type=varchar(50) interclassemnt=latin1_swedish_ci attribut=vide null=Non
Marsh Posté le 22-01-2006 à 22:04:46
au lieu de groupes=1
met groupes='1' sachant que ton champs est un varchar
Marsh Posté le 22-01-2006 à 22:14:12
Remet le count(*), ou count(id_user) parce que
select COUNT(groupes) AS nbre_entrees FROM utilisateur WHERE groupes like '1'
ça donne tjrs 1
Sinon je proposerai de rajouter un "group by groupes" aussi mais je me demande si c pas facultatif ...
Marsh Posté le 22-01-2006 à 23:01:45
j'ai essayer tout , groupes='1' ou count(*)ou(id_user)ou(groupes)ou(1) et ca reste le meme , le "group by groupes" c'est quoi?
est ce que l'erreur peut venir de l'echo?
Marsh Posté le 22-01-2006 à 23:02:08
Ricco a écrit : Remet le count(*), ou count(id_user) parce que |
N'importe quoi...
Marsh Posté le 22-01-2006 à 23:16:10
rut a écrit : j'ai essayer tout , groupes='1' ou count(*)ou(id_user)ou(groupes)ou(1) et ca reste le meme , le "group by groupes" c'est quoi? |
Ca affiche quoi le myslq_error ?
Marsh Posté le 22-01-2006 à 23:18:24
rut a écrit : |
Si c'est toujours le "or die" qui provoque l'arrêt du programme, non... Mais je vois plus trop d'où elle sort ton erreur. Tu n'as pas un moyen pour exécuter tes requêtes "en live" sur le serveur sql ? (via phpmyadmin ou autre ?)
Marsh Posté le 22-01-2006 à 23:19:12
naceroth a écrit : N'importe quoi... |
... effectivament je me suis pê gourré. Lol une connerie de moins à sortir en entretien.
Marsh Posté le 22-01-2006 à 23:22:02
ReplyMarsh Posté le 22-01-2006 à 23:24:17
On doit comprendre quoi là ?
Marsh Posté le 22-01-2006 à 23:26:13
rut a écrit : j'travail avec easyphp en local pour le moment |
Oui, donc, tu as un phpmyadmin qui doit trainer quelque part, colle y ta requête qu'on sache au moins si elle est correcte...
Marsh Posté le 22-01-2006 à 23:27:35
Ricco a écrit : On doit comprendre quoi là ? |
Si c'est "je me fous de vous depuis 24 heures", je demande le TT
Marsh Posté le 22-01-2006 à 23:31:13
ok naceroth j'esaye ca
le etait pour le " n'importe quoi"
Marsh Posté le 22-01-2006 à 23:49:54
ca me donne ceci : 1064 - Erreur de syntaxe pr賠de '$retour=mysql_query("select count(*) AS nbre_entrees FROM utilis' ࠬa ligne 1
Marsh Posté le 22-01-2006 à 23:54:59
Euh oui, forcément
Juste la requête :
Code :
|
Marsh Posté le 23-01-2006 à 00:07:08
Là, je sèche... Tu peux nous remettre le code php tel qu'il est maintenant ?
(Où vous avez planqué la caméra les gars ???)
Marsh Posté le 23-01-2006 à 00:10:36
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$retour = mysql_query("SELECT COUNT(groupes) AS nbre_entrees FROM utilisateur WHERE groupes='1'" ) or die(mysql_error());
while ( $donnees = mysql_fetch_row($retour) );
{
echo $donnees['nbre_entrees'];
}
et non c'est vraiment pas un gag
Marsh Posté le 23-01-2006 à 00:17:37
Bon, déjà c'est
Code :
|
comme l'avait signalé jokari34 bien plut haut
Marsh Posté le 23-01-2006 à 00:21:28
pareil , il n'y a pas d'erreur , mais pas une reponse souhaiter :s
Marsh Posté le 23-01-2006 à 00:25:05
Erf, oh le con... vire moi ce put$#n de ; à la fin de la ligne du while...
Marsh Posté le 23-01-2006 à 00:25:32
2 choses
- pas de ";" à la fin de la ligne du while
- la requête telle qu'elle est écrite renverra toujours une et une seule ligne, pas la peine de faire une boucle while
edit :
Marsh Posté le 23-01-2006 à 00:28:07
vive les ";"
merci a vous , vous etes de vrai cerveau dans ce business
bonne nuit a tous
Marsh Posté le 21-01-2006 à 19:28:01
salut a tous,
voila dans le cadre de mon projet , un site web en php, j'aimerais bien mettre sur un page le nombre de personne sur mon site , ces derniers sont divisible en 3groupes , appellon groupes. Une page visible par tout les membres.
voici donc ma requete :
ligne 160:: $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM utilisateur WHERE groupes=1" );
ligne 161:: while ( $donnees = mysql_fetch_row ($retour) );
ligne 162:: echo $donnees['nbre_entrees'];
ensuite , j'ai ceci comme erreur:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\weblocal\...\login.php on line 161
quel est l'erreur que je fait?
merci a vous tous
Message édité par rut le 23-01-2006 à 00:29:28