[英]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.