簡體   English   中英

MySQL搜索字段不同順序

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM