我有一张这样的表
name | surname | email | tel
Edwin | Williams | edwin@aa.com | 123456
Luke | Evan | luke@bb.com | 987456
我需要搜索" Edwin Williams"或者" Williams Edwin"同样的。
我试过
CONCAT_WS (' ', name, surname, email, email2) LIKE '%".addslashes($_POST['search'])."%'
OR
CONCAT_WS (' ', surname, name, email, email2) LIKE '%".addslashes($_POST['search'])."%'
但我不喜欢它,在我搜索" 123456 Edwin"我什么都找不到。
我在InnoDb有桌子,我不喜欢使用MyISAM全文。
答案 0 :(得分:0)
我想你想要:
WHERE CONCAT_WS(' ', name, surname, email, email2, tel) REGEXP REPLACE(CONCAT('%', $_POST['search'], '%'), ' ', '|')
您希望竖线显示正则表达式的“OR”。