PHP搜索功能,用于使用非精确搜索词搜索数据库

时间:2018-06-19 15:11:32

标签: php sql search

我已经在网站上创建了搜索功能,该功能使用LIKE搜索数据库,如下所示:

$term = $_GET['search'];
$newterm = '%'.$term.'%';

$params = [$newterm];
$sql = "SELECT * FROM products WHERE product_name LIKE ?";
$stmt = DB::run($sql,$params);

但是,这不适用于拼写错误或其他字符。

例如,如果我的数据库包含:[蓝色帽子,红色帽子,黑色帽子,白色帽子]。 如果我搜索帽子,所有结果将按预期返回。 如果我搜索帽子,将不会获得任何结果。 如果我搜索hta,将无法获得结果。

有没有更好的方法可以在数据库中搜索类似的结果,或者有类似Google的警告,它会根据数据库中的实际内容发出类似这样的信息:

You searched for hta, did you mean hat?

0 个答案:

没有答案