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']));
}
}
那么,我应该遵循哪种算法,并在哪里使用它来实现我的目标?