SQL 查询 - 包含查询不起作用


SQL Query - Contains query not working

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

假设同一国家/地区有 2 个优惠。(美国、英国)

因此,"国家/地区"列将如下所示:美国,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'");

我希望你明白,我想说什么。感谢您的任何回复!

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

像这样一次只存储 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

使用通配符%作为零个或多个字符的替代品。

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