les mots réservés mysql

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 16:00

Bonjour,

J'utilise un moteur de recherche interne sur mon site utilisant le FULLTEXT de mysql, et me suis rendu compte que la recherche était impossible sur le mot "MUST".

Il ne figure pas cependant sur la liste des mots reservés par mysql disponible sur ce site: http://www.lephpfacile.com/manual_mysql ... ucture.php

(voir bas de page)

J'ai bien me creuser la tete, je ne vois pas d'autre possibilité, étant donné que la recherche fonctionne avec tous les mots de 4 lettre.

Une idée? merci!

Mammouth du PHP | 19672 Messages

01 févr. 2006, 16:03

Fais donc voir comment tu écris ta requête ? Si elle est corectement formulée et écrite , tu dois pouvoir chercher n'importe quel mot, y compris un mot réservé en SQL...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 16:17

Voici la requette, mais honnetement, je ne vois pas pourquoi elle serait en cause. Elle ne retourne aucune erreur juste pas de résultat pour le mot must, alors qu'il se trouve bien dans la base.
J'ai fait un teste dans le meme enregistrement avec "tsum" a cote, et cette recherche passe, mais pas must...

SELECT DISTINCT commerces.nom , MATCH (motscles,info_pro_fr,info_pro_an,info_pro_al,info_pro_es,info_gen_fr,info_gen_an,info_gen_al,info_gen_es) AGAINST ('+must') AS score FROM commerces_activites INNER JOIN commerces ON commerces.id = commerces_activites.id_com AND commerces.id != '1542' WHERE MATCH (motscles,info_pro_fr,info_pro_an,info_pro_al,info_pro_es,info_gen_fr,info_gen_an,info_gen_al,info_gen_es) AGAINST ('+must')

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 16:18

oups ;)

Code : Tout sélectionner

SELECT DISTINCT commerces.nom , MATCH (motscles,info_pro_fr,info_pro_an,info_pro_al,info_pro_es,info_gen_fr,info_gen_an,info_gen_al,info_gen_es) AGAINST ('+must') AS score FROM commerces_activites INNER JOIN commerces ON commerces.id = commerces_activites.id_com AND commerces.id != '1542' WHERE MATCH (motscles,info_pro_fr,info_pro_an,info_pro_al,info_pro_es,info_gen_fr,info_gen_an,info_gen_al,info_gen_es) AGAINST ('+must')

Mammouth du PHP | 19672 Messages

01 févr. 2006, 16:42

Ça te retourne quoi au juste comme erreur ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 16:49

Je le repète,... ca ne retourne pas d'erreur, seulement aucun résultat pour le mot "must", alors qu'il se trouve bien dans un champ régit par un index fulltext.

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 17:01

regardez ca:
http://omiossec.developpez.com/mysql/fu ... iguration/

au deuxieme encart, il est dit que n'importe quelle version de mysql peut etre compilée avec une liste de mots clés interdits modifiable.

Serais ce donc mon hébergeur (Amen) qui aurait pu interdire le mot "must"?

Mammouth du PHP | 19672 Messages

01 févr. 2006, 17:07

Ben je vois pas : faudrait poser la question à l'administrateur Bases de données chez Amen.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

01 févr. 2006, 17:09

Je suis entrain de le faire, des que j'aurai une réponse, je vous en ferait part. Si d'autres lecteurs ont des élément s d'information, merci de me les communiquer :)