PHP MySQL查询问题

3

这是我的表格:

enter image description here

我想要获得一些以逗号分隔的for/category字段值对应的客户信息。

我正在尝试像这样做:

SELECT * FROM `customers` WHERE `for` LIKE ('%AMC PHD & WWS%' OR '%Rostfrei%' OR '%Thermopac%')

但是它返回的结果为空。
2个回答

4

RedFilter的SQL是正确的,但是你应该知道"for"是MySQL的保留字。在使用它作为列名时,应该避免使用它或用反引号将其包含起来:

SELECT * 
FROM customers 
WHERE `for` LIKE '%AMC PHD & WWS%'
    OR `for` LIKE '%Rostfrei%'
    OR `for` LIKE '%Thermopac%';

另一种方法是只输入列名:

SELECT * FROM customers WHERE `for` REGEXP 'AMC PHD \& WWS|Rostfrei|Thermopac';

3

尝试:

SELECT * 
FROM customers 
WHERE for LIKE '%AMC PHD & WWS%'
    or for LIKE '%Rostfrei%'
    or for LIKE '%Thermopac%'

看起来它正在工作...但是有没有办法让我不必一遍又一遍地写字段名呢? - Vaibhav Gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接