我正在嘗試編寫一個腳本,它在數據庫中使用用戶提供的查詢的每個單詞進行搜索。編寫SQL搜索引擎查詢
例如查詢可以是: 「耐克黑帽」
在我的腳本字符串由空間分割由PHP,然後傳遞到SQL查詢以這樣的形式:
foreach($query as $word)
{
$searchQuery[] = " title ILIKE '%".$word."%' ESCAPE '|' ";
}
問題是那些查詢能夠找到像半* 黑色 *或* 帽子 * ed。我不希望所以我所做的就是將空間:
WHERE title ILIKE '% ".$word." %' ESCAPE '|'
現在的問題是,如果用戶搜索的是「耐克紅色短褲」,腳本會發現什麼,因爲「耐克」沒有空間之前在數據庫中。我不知道如何解決它 - 只能找到整個單詞,包括不以空格開頭或結尾的單詞。