如何實現名稱匹配。像「John S Smith」這樣的東西必須與mysql數據庫中的「Smith John S」匹配。即單詞可以是無序的。MySql:在類似子句中匹配的無序單詞
是否可以在單個SQL查詢中執行此操作?由於它的名稱不會超過3個字。
我的代碼在邏輯上不正確。任何幫助將不勝感激。
$words=explode(" ", $name);
$sql="SELECT * FROM sent WHERE 1=1";
foreach ($words as $word)
{
$sql.=" AND customer_name LIKE '%$word%'";
}
生成的SQL,我看起來像這樣。
$sql="SELECT * FROM sent WHERE 1=1 AND customer_name LIKE '%John%' AND customer_name LIKE '%S%' AND customer_name LIKE '%Smith%'" ;
我認爲你不需要爆炸名稱,你可以簡單地做它像select * from發送的地方customer_name LIKE「%」。$ name。「%」; –
@abdulraziq「約翰史密斯」必須匹配「史密斯約翰S」 – coding
你試過上面的查詢我給你看? –