[英]Mysql search fields different order
我有这样的桌子
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全文。
我想你要:
WHERE CONCAT_WS(' ', name, surname, email, email2, tel) REGEXP REPLACE(CONCAT('%', $_POST['search'], '%'), ' ', '|')
您希望竖线为正则表达式获取“ OR”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.