我为一家商店制作了一个网站,该网站使用 sql 表来管理有关其产品的数据。
我使用全文搜索,因此用户可以轻松搜索股票。
搜索运行查询以将术语与产品的品牌、名称和描述相匹配,如下所示:
$search_prods = $db_connection->query("
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`brand`) Against('$term')
UNION
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`description`) Against('$term')
UNION
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`name`) Against('$term')
");
搜索工作正常,但处理品牌“潘多拉”时除外。如果我搜索不同的品牌,我会得到我的结果。如果我搜索 Pandora,我会得到名称中带有 Pandora 的结果和描述中带有 Pandora 的结果。不过,我无法在品牌中使用 Pandora 获得任何结果。他们确实存在!我尝试在 MySql 中运行查询,但遇到了同样的问题。
在导致问题的“品牌”列中搜索“潘多拉”是什么意思?有人有什么想法吗?
谢谢!