0
我想通過分割數組在搜索查詢中從數據庫中獲得最匹配的數據。
想象一下,我的查詢是:「如何購買一輛摩托車」 &在DB我錄用了一些數據,如用分割文本搜索數據庫並獲得重新值
買直升機
買一輛摩托車
團購一輛車
因此,在拆分查詢之後,它將分別搜索到「how」,「到」,「buy」,「摩托車」。使用這些子字符串,查詢只生成「購買直升機」字符串輸出。但我想獲得購買摩托車的數據。我生成了一個方法,但只有在這些子字符串中的任何一個與DB中的相同數據匹配時纔會對數據進行編碼。 這是我的代碼,只獲取第一個匹配的數據,但我想要的數據是在沒有。 2.
$str=$_POST['search'];
$str=preg_split("/[\s]+/", $str);
foreach ($str as $search) {
$sql = "SELECT answer FROM query_tbl WHERE q1 like '%".$search."%' ";
$record = mysqli_query($link, $sql);
$rows=mysqli_fetch_assoc($record);
if ($rows == true) {
echo json_encode(array('ans'=>$rows['answer']));
}
}
那麼,我應該遵循哪種算法,並在哪裏使用它來實現我的目標?