像MySQL中的关键字问题

时间:2012-03-22 07:07:12

标签: mysql database mysqli

我希望在MySQL中使用ADSTech关键字在类似声明的帮助下显示ADS Technology的结果

SELECT * FROM subcategories WHERE `name` LIKE '%ADS Technology%'

此结果是必需的

enter image description here

另见我的数据库截图

enter image description here

3 个答案:

答案 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