2010-09-23 40 views
1

Existe-t-il un moyen d'utiliser MySQL pour interroger une valeur contenant un espace, mais comme une sorte de caractère d'échappement? C'est pour un moteur de recherche instantané que je construis (j'essaie d'incorporer des chaînes de recherche spéciales telles que des citations pour rechercher la chaîne exacte).MySQL: espace d'échappement de la requête

acclamations

+2

Ne pas obtenir ce que vous voulez exactement. La requête "foo bar" correspond exactement à "foo bar", c'est ça? Ceci est généralement fait en utilisant des citations. – Frankie

+0

http://dev.mysql.com/doc/refman/5.1/fr/fulltext-boolean.html – Wrikken

+2

Exemple de code, entrée et sortie attendue vraiment aider –

Répondre

1

select * from sometable où somefield comme '% oh non%';

1

Les index de texte intégral sont ce que vous devez utiliser. Ils manipulent toutes sortes de mots/caractères clés (comme citer une chaîne pour obtenir une correspondance exacte, -someword pour dire un mot ne peut pas être dans le résultat et + un mot pour dire un mot doit être dans le résultat) sans avoir à faire quoi que ce soit spécial dans votre code (autre que de changer un peu votre requête). La base de données fera la recherche pour vous et retournera les résultats les plus pertinents en haut de la requête. C'est vraiment très facile d'y aller aussi.

Mysql Manual

Using full-text searching (implementation help)

+0

merci beaucoup c'est exactement ce dont j'avais besoin :) cheers – Fela