我有一个来自Android系统的字符串。 我收到该字符串,对应于一个PHP文件中的地址,并且想要检查这个地址是否与我的数据库中的地址匹配。 但是,我希望它可以工作,无论用户输入的单词的顺序如何。php - 从数据库中查找文本中的多个单词
起初,我用LIKE如下:
$address=preg_replace('#\s+#','%',$_POST['address']);
$address='%'.$address.'%';
echo $address;
$list_business = $bdd->prepare('SELECT * FROM business WHERE address LIKE ? OR name_business LIKE ?');
$list_business->execute(array($address,$address));
这其实可以让我即使一些单词中省略的结果。例如443街将匹配443第一街。 但它不会返回任何东西,如果用户键入id为第一街443. 我在考虑正则表达式,但它真的适应这种问题?或者我应该为每个单词使用一个不同的正则表达式?
谢谢您事先=)
Q
你可以做多'likes'每字输入的演示。它会给你回来多个记录。全文搜索可能是更好的方法。 http://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html – chris85
展望未来,谢谢=) – Kunting