[PHP/MYSQL] - alors la si qqun y comprends qque chose, CHAPO! [résolu]

- alors la si qqun y comprends qque chose, CHAPO! [résolu] [PHP/MYSQL] - PHP - Programmation

Marsh Posté le 16-11-2002 à 17:32:43    

:pfff:  :fou:  :heink:  :heink:  :heink:  :heink:  :fou:  
 
ca resume mon etat d'esprit !
 
$construct_rq_count est une requete construite par le script, jai deja fait des echo dans tout les sens pour la verifier et le echo juste avant l'execution de la requete affiche ceci :  
 

SELECT COUNT( * ) AS NbPosts FROM gbb_Posts WHERE Username = 'Caroline' OR Username = 'David' OR Username = 'Duduuuule' GROUP BY Username


 
je copie et colle cette requete dans phpmyadmin et les resultat qu'il me sort son JUSTE !!!!
resultats obtenus :  
2
2
1

 
soit 3 resultat
 
ensuite si je fait la meme chose avec mon script php qui execute la requete qui est EXACTEMENT la meme : comme ceci ( je suis sur et certain que c la bonne requete qu'il execute)
 
 

Code :
  1. $rq_count=mysql_query($construct_rq_count);
  2. while($rs_count=mysql_fetch_array($rq_count))
  3. {
  4.     echo $rs_count["NbPosts"];
  5. }


 
et bien il me sort  
 
5
 
 :heink:  :heink:  :heink:  :heink:  
 
heu je deviens barge la ou quoi?  :pt1cable:  
 
non mais serieux...  chui pas fou hein??? rassurez moi !!!
 
C'est quoi ce bins !!!  :fou:  :kaola:  :cry:  
 
merci d'avance  :sweat:  
 
m'etonnerait que qqun puisse m'aider mais fallait que ca sorte  :cry: , saloperie de machine  :fou:  :fou:  
 
:(


Message édité par Schtroumpheur le 16-11-2002 à 18:42:53
Reply

Marsh Posté le 16-11-2002 à 17:32:43   

Reply

Marsh Posté le 16-11-2002 à 17:53:37    

Heu juste comme ça, t'aurait pas oublié un GROUP BY dans la 2e requete? Tu l'as bien verifieé?
Essaie "echo $construct_rq_count" au cas ou, je voit que ca...

Reply

Marsh Posté le 16-11-2002 à 17:57:12    

lechad a écrit a écrit :

Heu juste comme ça, t'aurait pas oublié un GROUP BY dans la 2e requete? Tu l'as bien verifieé?
Essaie "echo $construct_rq_count" au cas ou, je voit que ca...




je te jure que je passe mon temps a faire un echo juste avant l'execution, et j'ai bien mis le GROUP BY regarde par toi meme :
 
vla l'adresse du site :/ la requete s'affiche en haut grmble
 
le pire c que quand je la copie et colle cette requete dans phpmyadmin ca marche bien , c la que c completement absurde !  
 
( fait pas attention auxmessages debiles c pour tester ;) )  
 
http://www.decorations.be/gbb/?act [...] t&PostID=1

Reply

Marsh Posté le 16-11-2002 à 18:05:40    

Ca serait peut être pas con d'exécuter toute la requête dans phpmyadmin et donc ne pas s'arrêter au milieu.
 
Ta requête complète, c'est :
 

Code :
  1. SELECT COUNT(*) AS nbposts FROM gbb_Posts WHERE Username='Caroline' OR Username='David' OR Username='Duduuuule' GROUP BY Username ORDER BY Username ASC


 
Celle que t'as testé, c'est :

Code :
  1. SELECT COUNT( * ) AS NbPosts FROM gbb_Posts WHERE Username = 'Caroline' OR Username = 'David' OR Username = 'Duduuuule' GROUP BY Username


 
Au fait, t'as descaractère bizare au milieu de ta requête, c'est pas ça qui foutrait la merde?
 
Quand on coupe au niveau des caractères bizare, on optient la requête :
 

Code :
  1. SELECT COUNT(*) AS nbposts FROM gbb_Posts WHERE  Username='Caroline' OR Username='David' OR Username='Duduuuule'


 
Et hop, plus de GROUP BY donc, le count(*) agis sur tout.
C'est con quand même.

Reply

Marsh Posté le 16-11-2002 à 18:14:42    

omega2 a écrit a écrit :

Ca serait peut être pas con d'exécuter toute la requête dans phpmyadmin et donc ne pas s'arrêter au milieu.
 
Ta requête complète, c'est :
 

Code :
  1. SELECT COUNT(*) AS nbposts FROM gbb_Posts WHERE Username='Caroline' OR Username='David' OR Username='Duduuuule' GROUP BY Username ORDER BY Username ASC


 
Celle que t'as testé, c'est :

Code :
  1. SELECT COUNT( * ) AS NbPosts FROM gbb_Posts WHERE Username = 'Caroline' OR Username = 'David' OR Username = 'Duduuuule' GROUP BY Username


 
Au fait, t'as descaractère bizare au milieu de ta requête, c'est pas ça qui foutrait la merde?
 
Quand on coupe au niveau des caractères bizare, on optient la requête :
 

Code :
  1. SELECT COUNT(*) AS nbposts FROM gbb_Posts WHERE  Username='Caroline' OR Username='David' OR Username='Duduuuule'


 
Et hop, plus de GROUP BY donc, le count(*) agis sur tout.
C'est con quand même.




 
Je comprends pas de quel caractere bizzare tu parles???  
 
jai testé avec ou sans le order by, ca change rien du tout

Reply

Marsh Posté le 16-11-2002 à 18:15:56    

Je me trompe peut-etre mais apparement c bon la non?  
Il affiche
2
2
1
en bas de la page...  
Ce ce qui te faut non?

Reply

Marsh Posté le 16-11-2002 à 18:17:51    

lechad a écrit a écrit :

Je me trompe peut-etre mais apparement c bon la non?  
Il affiche
2
2
1
en bas de la page...  
Ce ce qui te faut non?
 




oui c ce quil me faut mais, ne crie pas victoire cela je l'obtiens en faisant un autre bout de code ailleur dans le script mais en ayant copié collé la requete aussi pour tester, et la curieusement ca marche ???????????
 
 
c'est vraiemnt incomprehensible....

Reply

Marsh Posté le 16-11-2002 à 18:18:11    

schtroumpheur a écrit a écrit :

 
 
Je comprends pas de quel caractere bizzare tu parles???  
 
jai testé avec ou sans le order by, ca change rien du tout
 



Ca, c'est toi seul qui peut nous le dire, moi, j'utilises mozilla et au milieu de ta requête, je vois deux carrés à la place de deux caractère inafichable et ce sont pas des return.
Quand je fais un copier collé de l'ensemble de ta requête, le copié collé ce coupe au niveau de ces caractères là.
 
Bref, a toi de vérifier a quoi ils corespondent vu qu'ils ont l'air de mettre l'embrouille dans ta requête.

Reply

Marsh Posté le 16-11-2002 à 18:20:15    

en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas..
 
si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener :(  [:nowad]  [:nowad]  [:nowad]  [:nowad]

Reply

Marsh Posté le 16-11-2002 à 18:21:16    

omega2 a écrit a écrit :

Ca, c'est toi seul qui peut nous le dire, moi, j'utilises mozilla et au milieu de ta requête, je vois deux carrés à la place de deux caractère inafichable et ce sont pas des return.
Quand je fais un copier collé de l'ensemble de ta requête, le copié collé ce coupe au niveau de ces caractères là.
 
Bref, a toi de vérifier a quoi ils corespondent vu qu'ils ont l'air de mettre l'embrouille dans ta requête.




 
 :ouch:  :ouch:  :ouch:  :ouch:  je v tester avec mozilla, mais je vois pas d'ou il pourraient venir ces *** de caractere !!! c impossible ****..
 
 :ouch:  [:nowad]  [:nowad]  [:nowad]

Reply

Marsh Posté le 16-11-2002 à 18:21:16   

Reply

Marsh Posté le 16-11-2002 à 18:21:46    

arf.
Bah je sais pas...
Moi sous ie j ai pas de carre... Et le copier/coller pose pas de probleme, la requete est traitée en entiere.

Reply

Marsh Posté le 16-11-2002 à 18:24:21    

OK j'ai vu ces deux carectere, chez mois ils s'affichent en caractere japonais loool
 
mais je crois savoir d'ou cela viens, oulalalala
 
en fait quand je concatene les different OR et que ca se fini, ily a un OR en trop a la fin et pour le virer je fais ceci
$req_OR=$req_OR[strlen($req_OR)-1]="";
$req_OR=$req_OR[strlen($req_OR)-2]="";
 
et c'est cela qui mettrait ce caractere bidon???
 
comment faire pour supprimer le OR autrement et sans que ce caractere pourris ne viennent??
 
on avance, sans toi j'aurais jamais pensé aller voir avec mozilla , omega merci


Message édité par Schtroumpheur le 16-11-2002 à 18:24:59
Reply

Marsh Posté le 16-11-2002 à 18:24:48    

schtroumpheur a écrit a écrit :

en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas..
 
si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener :(  [:nowad]  [:nowad]  [:nowad]  [:nowad]  




 
Montre nous ton code, on sait jamais...
Mais c'est vrai que ton truc c a devenir  :pt1cable:
 
edit: j'arrive trot tard...


Message édité par lechad le 16-11-2002 à 18:25:56
Reply

Marsh Posté le 16-11-2002 à 18:25:13    

schtroumpheur a écrit a écrit :

en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas..
 
si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener :(  [:nowad]  [:nowad]  [:nowad]  [:nowad]  



Bon, fait un "echo strlen" de ta requête et conte en suite à la main le nombre de caractère que tu lis à l'écran.
Si je me trompes pas, tu véras une diférence de 2 caractères entre ce que t'as à l'écran et ce que php à trouvé.
 
PS : Ces deux caractère sont pas affiché par IE. la solution, réécrit donc la ligne qui te rajoute le group by à ta requête et efface l'ancienne. C'est à ce niveau là que tu dois avoir la merde.

Reply

Marsh Posté le 16-11-2002 à 18:25:52    

lechad a écrit a écrit :

 
 
Montre nous ton code, on sait jamais...
Mais c'est vrai que ton truc c a devenir  :pt1cable:  




ben je viens de localisé le prob grace a omega, maintenant, faudrait le resoudre,... ca devrait pas etre trop dur...
 
ouf... me voila rassuré chui pas barge, mais c quand meme bizarre ces caractere qui s'ajoutent, mais y a surement une explication logique  :o

Reply

Marsh Posté le 16-11-2002 à 18:27:32    

omega2 a écrit a écrit :

Bon, fait un "echo strlen" de ta requête et conte en suite à la main le nombre de caractère que tu lis à l'écran.
Si je me trompes pas, tu véras une diférence de 2 caractères entre ce que t'as à l'écran et ce que php à trouvé.
 
PS : Ces deux caractère sont pas affiché par IE. la solution, réécrit donc la ligne qui te rajoute le group by à ta requête et efface l'ancienne. C'est à ce niveau là que tu dois avoir la merde.




 
OK mais comment faire autrement pour virer les 2 dernier caractere d'une chaine???
 
on va dire que j'ai ceci  
 
$requete="select * from machin WHERE lolo=1 OR lala=2 OR";
 
comment je vire le OR autrement que comme j'ai fais pour eviter ce prob?

Reply

Marsh Posté le 16-11-2002 à 18:28:00    

schtroumpheur a écrit a écrit :

OK j'ai vu ces deux carectere, chez mois ils s'affichent en caractere japonais loool
 
mais je crois savoir d'ou cela viens, oulalalala
 
en fait quand je concatene les different OR et que ca se fini, ily a un OR en trop a la fin et pour le virer je fais ceci
$req_OR=$req_OR[strlen($req_OR)-1]="";
$req_OR=$req_OR[strlen($req_OR)-2]="";
 
et c'est cela qui mettrait ce caractere bidon???
 
comment faire pour supprimer le OR autrement et sans que ce caractere pourris ne viennent??
 
on avance, sans toi j'aurais jamais pensé aller voir avec mozilla , omega merci



Ben moi, j'ai mozilla comme navigateur principal. Ca aide. ;)
 
Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas.

Reply

Marsh Posté le 16-11-2002 à 18:29:21    

Sinon tu concatene d'abord la premiere condtion puis tu fais une boucle pour rajouter les autre precédées d'un OR. Moi je trouve ca plus propre...  :na:  

Reply

Marsh Posté le 16-11-2002 à 18:29:57    

omega2 a écrit a écrit :

Ben moi, j'ai mozilla comme navigateur principal. Ca aide. ;)
 
Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas.




 
OK on va tester ca...

Reply

Marsh Posté le 16-11-2002 à 18:30:37    

schtroumpheur a écrit a écrit :

 
ben je viens de localisé le prob grace a omega, maintenant, faudrait le resoudre,... ca devrait pas etre trop dur...
 
ouf... me voila rassuré chui pas barge, mais c quand meme bizarre ces caractere qui s'ajoutent, mais y a surement une explication logique  :o  



L'explication logique, c'est qu'à tout les coups, ca effacait pas le caractère mais le remplacait par un caractère bidon donc le code ASCII n'était pas affichable.
la prochaine fois, remplace par " " ca sera déjà mieux. ;)

Reply

Marsh Posté le 16-11-2002 à 18:32:54    

omega2 a écrit a écrit :

Ben moi, j'ai mozilla comme navigateur principal. Ca aide. ;)
 
Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas.




 
Bon ben voila ca marche, ouf !
 
'tain tout ca pour un petit carré  :lol:  
 
Merci bcp de les avoir reperé entk...
 
A+ :)

Reply

Marsh Posté le 16-11-2002 à 18:33:30    

omega2 a écrit a écrit :

L'explication logique, c'est qu'à tout les coups, ca effacait pas le caractère mais le remplacait par un caractère bidon donc le code ASCII n'était pas affichable.
la prochaine fois, remplace par " " ca sera déjà mieux. ;)




 
 :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed