2010-12-05 5 views
5

J'ai essayé cette expression /\b(word\w*)\b/i pour comparer un word par rapport à la liste des autres mots pour trouver les doublons. J'ai utilisé preg_math_all() et cela a bien fonctionné. Je voulais faire la même chose mais cette fois-ci vérifier les mots récupérés de la base de données mysql. C'est ce que j'ai écritcomment écrire Expression régulière dans les requêtes de sélection MySQL?

SELECT * FROM table WHERE word = /\b(word\w*)\b/i 

cela n'a pas fonctionné.

Répondre

7

Votre requête devrait ressembler à:

SELECT * FROM table WHERE column REGEXP '/\b(word\w*)\b/i' 
4

MySQL regex syntax est un autre de PHP de, vous n'avez pas besoin délimiteurs au début et à la fin.

SELECT * FROM table WHERE word REGEXP '\b(word\w*)\b' 

Vous ne pouvez pas utiliser le drapeau i pour la casse de la même manière que dans PHP, comme dans MySQL si le regex est sensible à la casse ou ne dépend pas du fait que la collation de colonne est un cas sensible ou non.

Questions connexes