【发布时间】:2012-09-15 20:48:28
【问题描述】:
我已使用 implode 函数将 select 语句中的多个值插入到单个列中。现在我想单独检索这些值以供进一步查询。 我有一个学生表,我在其中使用内爆函数 implode(',', $_POST['aoi']); 将他们不同的兴趣区域存储在单个列中。表的结构是这样的:
id | Name | AOI
-------------------------------------------
101 | Paul | Hardware,Networking
102 | Fred | Finance,Insurance,Banking
现在我想根据他们的兴趣分别检索这些学生数据。我尝试使用爆炸功能提取数据。但它以数组格式返回数据。
我必须单独提取感兴趣的区域。谁能告诉我如何从包含多个值的列中提取单个值。这样我就可以执行我的进一步查询。
Like $query = "select student.id,student.Name from student where AOI = 'Insurance'";
谢谢。
【问题讨论】:
-
技巧一,规范你的数据库。提示 2 规范化您的数据库。 en.wikipedia.org/wiki/Database_normalization
-
如果您使用其他数据库如MongoDB,您可以添加
AOI作为数组并存储值。但是使用MYSQL,你需要对数据库进行规范化。 -
我是数据库新手。我一定会尝试实施规范化概念。谢谢!