Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
770 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème bizarre avec l'instruction LIKE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème bizarre avec l'instruction LIKE

n°1748354
acorsa
Posté le 18-06-2008 à 16:33:06  profilanswer
 

Bonjour,
Voici mon problème: je désire permettre aux utilisateurs de faire une recherche par terme dans mon appli.
J'ai donc une requête du genre:SELECT...FROM..WHERE test LIKE %monterme%
Quand j'affiche la requête que j'exécute après la recherche du mot: "acronym" voilà la requête:

Code :
  1. SELECT distinct query_id, Query_text, .... FROM Projects P inner join Queries Q on (P.Project_name=Q.Project_name) WHERE (P.Password='wwwww') and (Query_status=1 or Query_status=2 or Query_status=3 or Query_status=4 or Query_status=5 or Query_status=6 or Query_status=7) and (Query_text LIKE '¬ronym%' OR Doc_name LIKE '¬ronym%' OR Proposal LIKE '¬ronym%' OR Reference LIKE '¬ronym%' OR answer_text LIKE '¬ronym%' OR answer_comment LIKE '¬ronym%') order by Creation_date ASC


J'ai fais quelques tests et j'observe que ça marche à chaque fois sauf quand je cherche la chaîne "ac" ou une mot qui contient cette chaîne.
"ac" (ou plus exactement %ac) est remplacé par "¬". Je n'ai rien trouvé sur le net à ce propos, ça me partait vraiment être une erreur bête mais j'ai pas d'idée.
Un grand merci d'avance!

mood
Publicité
Posté le 18-06-2008 à 16:33:06  profilanswer
 

n°1748358
skeye
Posté le 18-06-2008 à 16:36:11  profilanswer
 

tu la construis comment la requête?


---------------
Can't buy what I want because it's free -
n°1748389
acorsa
Posté le 18-06-2008 à 17:02:52  profilanswer
 

Je récupère le mot entré dans un textbox par un post. Et ensuite j'écris la requête avec.
Je suis désolée, je ne sais pas trop ce que tu attends comme réponse...  
Parcontre j'ai écris "quand je cherche la chaîne "ac" ou une mot qui contient cette chaîne" mais en fait c'est juste quand je cherche "ac" ou quand la chaîne commence par "ac".
Je continue à faire des test et par exemple qd je cherche "bbbbbbbbac", il supprime les 2 premières lettres et voilà ce qu'il cherche: "... LIKE '»bbbbbbac%'".
Bon je comprends rien à ce qu'il se passe...

n°1748394
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 18-06-2008 à 17:09:11  profilanswer
 

poste le code dans lequel tu construis ta requete stp


---------------
J'ai un string dans l'array (Paris Hilton)
n°1748398
skeye
Posté le 18-06-2008 à 17:11:25  profilanswer
 

ça pue l'urlencode ou des trucs dans le genre...:o


---------------
Can't buy what I want because it's free -
n°1748432
acorsa
Posté le 18-06-2008 à 17:31:14  profilanswer
 

Code :
  1. if(isset($_POST['search_label']))     $search_label=$_POST['search_label'];
  2.          $search_query = "SELECT distinct query_id, Query_text, Translator_name, language_name, Replied, Query_type, Doc_name, Reference, Proposal,Query_status, Creation_date, answer_text, answer_comment FROM Queries WHERE (Query_text LIKE '%$search_label%' OR Doc_name LIKE '%$search_label%' OR Proposal LIKE '%$search_label%' OR Reference LIKE '%$search_label%' OR answer_text LIKE '%$search_label%' OR answer_comment LIKE '%$search_label%') AND (Project_name='$project_name') order by Creation_date DESC";
  3.          $search= mysql_query($search_query);


n°1748450
skeye
Posté le 18-06-2008 à 17:37:50  profilanswer
 

Bravo, tu viens de gagner le droit d'aller lire de la doc sur les injections SQL.


Message édité par skeye le 18-06-2008 à 17:38:03

---------------
Can't buy what I want because it's free -
n°1748453
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 18-06-2008 à 17:38:35  profilanswer
 

+1, une vraie passoire son truc


---------------
J'ai un string dans l'array (Paris Hilton)
n°1748455
acorsa
Posté le 18-06-2008 à 17:39:24  profilanswer
 

Bon sinon au niveau des conseils vous pouvez m'aider ou pas?

n°1748461
skeye
Posté le 18-06-2008 à 17:42:46  profilanswer
 

oui, je te conseille d'aller te documenter sur les injections SQL, et comment les éviter.

 

(et au passage regarde la requête dans le code HTML, pas ce qu'affiche le browser)


Message édité par skeye le 18-06-2008 à 17:43:45

---------------
Can't buy what I want because it's free -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème bizarre avec l'instruction LIKE

 

Sujets relatifs
Problème avec font-colorproblème exécution de requête
Probleme de certificat pour dialogue entre une applet et un serveurprobleme de concatenation
define probleme avec CVBA problème de saisie dans Textbox
Compatibilité HTML mac-pc...Problème de Float avec IE
[MySQL] Probleme sauvegarde/restauration[perl] problème modules
Plus de sujets relatifs à : Problème bizarre avec l'instruction LIKE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR