SQL查询 - 包含查询无效

时间:2013-11-04 20:36:32

标签: php mysql sql contains

我的MySQL中有一个名为“country”的列。如果country列包含访问者所拥有的国家/地区代码,我希望能够加载多个记录。

让我们说同一个国家有2个优惠。 (美国,GB)

所以专栏,'country'看起来像这样:US,GB

Country | Name | Description

US,GB   | ...  | ....

然后它应该能够检查“国家/地区”列是否包含国家/地区代码,即美国或GB。然后加载该国家/地区的优惠。

到目前为止,我有这个MySQL查询,但它无法正常工作。

mysql_query("SELECT popularity, name, description, category, enabled FROM list WHERE country LIKE '$country_code' AND enabled='0'");

我希望你明白,我想说的是什么。谢谢你的回复!

2 个答案:

答案 0 :(得分:1)

永远不要永远不要在一列中存储多个值。

您应该一次只能存储1个国家/地区

Country | Name | Description
US      | ...  | ....
GB      | ...  | ....

如果您无法更改数据库设计,则可以运行

SELECT popularity, name, description, category, enabled 
FROM list 
WHERE enabled='0'
AND find_in_set('$country_code', country) > 0

答案 1 :(得分:0)

使用通配符%代替零个或多个字符。

mysql_query("SELECT popularity, name, description, category, enabled FROM list WHERE country LIKE '%$country_code%' AND enabled='0'");