我有一個來自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