0

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

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

因此,“国家”列将如下所示:US,GB

Country | Name | Description

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

然后它应该能够检查“国家”列是否包含国家代码,即美国或英国。然后加载适用于该国家/地区的报价。

到目前为止,我有这个 MySQL 查询,但它不工作。

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

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

4

2 回答 2

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
于 2013-11-04T20:39:02.250 回答
0

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

mysql_query("SELECT popularity, name, description, category, enabled FROM list WHERE country LIKE '%$country_code%' AND enabled='0'");
于 2013-11-04T20:42:16.307 回答