par
Ryle » 21 mars 2009, 14:07
Alors tout d'abord on va se calmer avec la paranoïa : les chinois du FBI ne te surveillent pas et n'essayent pas désespérement de pirater ton site pour saboter ta base de données....
Ton code ne semble en effet pas sécurisé (bien qu'on ait pas la moindre idée des traitements qui ont pu être effectués au préalable). Il est donc probable qu'il te faille revoir le traitement des données que tu récupères, mais c'est à peu près tout ce que tu aurais besoin de faire...
Maintenant pour en revenir au sujet, il te faudrait afficher la requête avant de l'exécuter, ou simplement la valeur de $search et dans un premier temps t'assurer que la syntaxe est correcte et que le mot clé apparait bien.
En l'occurence, il semble simplement te manquer l'opérateur entre le nom du champ et la valeur que tu veux tester :
$search .= " AND (a.ad_text __ '". $_GET['Motcle']. "')";
Tu dois donc avoir une erreur MySQL, qu'il aurait suffit de tester dans phpMyAdmin ou de faire apparaitre le message d'erreur lors de l'exécution (mysql_error()), pour qu'il t'indique une erreur de syntaxe à cet endroit

Alors tout d'abord on va se calmer avec la paranoïa : les chinois du FBI ne te surveillent pas et n'essayent pas désespérement de pirater ton site pour saboter ta base de données.... :x
Ton code ne semble en effet pas sécurisé (bien qu'on ait pas la moindre idée des traitements qui ont pu être effectués au préalable). Il est donc probable qu'il te faille revoir le traitement des données que tu récupères, mais c'est à peu près tout ce que tu aurais besoin de faire...
Maintenant pour en revenir au sujet, il te faudrait afficher la requête avant de l'exécuter, ou simplement la valeur de $search et dans un premier temps t'assurer que la syntaxe est correcte et que le mot clé apparait bien.
En l'occurence, il semble simplement te manquer l'opérateur entre le nom du champ et la valeur que tu veux tester :[quote]$search .= " AND (a.ad_text [color=red]__[/color] '". $_GET['Motcle']. "')"; [/quote]
Tu dois donc avoir une erreur MySQL, qu'il aurait suffit de tester dans phpMyAdmin ou de faire apparaitre le message d'erreur lors de l'exécution (mysql_error()), pour qu'il t'indique une erreur de syntaxe à cet endroit ;)