如何实现名称匹配。像“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
你试过上面的查询我给你看? –