我希望在MySQL中使用ADSTech
关键字在类似声明的帮助下显示ADS Technology
的结果
SELECT * FROM subcategories WHERE `name` LIKE '%ADS Technology%'
此结果是必需的
另见我的数据库截图
答案 0 :(得分:2)
它不会搜索,因为它正在考虑空间。
您需要在传递查询
之前从关键字中删除空格$string_without_whitespaces = str_replace(' ', '', $string);
OR
$string_without_whitespaces = preg_replace('~\s~', '', $string);
或者从空间中拆分关键字,就像使用PHP使用explode()
并根据需要在此数组中运行查询一样。
$key=explode("",$keyword);
然后
$query="SELECT * FROM subcategories WHERE `name` LIKE '%".$key[1]."%' OR '%".$key[2]."'";
OR
$query="SELECT * FROM subcategories WHERE `name` LIKE '%".$key[1].$key[2]."%'";
答案 1 :(得分:1)
如果我清楚地理解您的问题,您可以使用以下任何查询来获得与ADSTech或ADS技术相关的结果....
SELECT * FROM subcategories WHERE `name` LIKE '%ADSTech%' OR `name` LIKE '%ADS Technology%';
SELECT * FROM subcategories WHERE `name` IN ('ADSTech','ADS Technology');
祝你好运,
答案 2 :(得分:0)
你可以有一个存储公司别名的表,然后按如下方式使用它:
SELECT *
FROM subcategories sc, companyalias ca
WHERE ca.primaryname LIKE '%ADS Technology%'
AND ca.name = sc.name