Php 存储多个值

Php 存储多个值,php,mysql,Php,Mysql,我的网站上有一个用户表。该表由列组成 user_id, fname, lname, email, password, interest1, interest2, interest3, interest4, interest5 现在,像这样单独存储兴趣是不现实的。有什么更好的方法可以做到这一点。使编辑/访问用户兴趣保持轻松的方法 谢谢。创建一个名为interests的新表,其中包含user\u id列,并且interests按您的要求执行 您将创建一个新的interests表,其结构如下:

我的网站上有一个用户表。该表由列组成

user_id, fname, lname, email, password, interest1, interest2, interest3, interest4,   
interest5
现在,像这样单独存储兴趣是不现实的。有什么更好的方法可以做到这一点。使编辑/访问用户兴趣保持轻松的方法


谢谢。

创建一个名为
interests
的新表,其中包含
user\u id
列,并且
interests
按您的要求执行

您将创建一个新的
interests
表,其结构如下:

interest      user_id
"skiing"          1
"programming"     4
 etc...
SELECT `interest` FROM `interests` WHERE `user_id` = :my_user_id;
然后,您可以通过以下查询获得给定用户的所有兴趣:

interest      user_id
"skiing"          1
"programming"     4
 etc...
SELECT `interest` FROM `interests` WHERE `user_id` = :my_user_id;

他们。通过这种方式,您可以将零个兴趣存储到他们想要的任意多个兴趣中,并且当您保存这些兴趣时,您可以维护创建它们时使用的相同数据结构(即数组或对象)。

用户和兴趣之间存在多对多关系。创建seaparte兴趣表,并引入连接表来链接用户及其兴趣


当您可以正常化时,为什么要序列化?这使得搜索变得不可能。为什么?因为这是一个简单可行的解决方案。我不反对规范化。这个答案本身并不能解释太多,除了书本上的术语,而且你的表有太多的空白。(+1)。@arxanas:修复了空格。这仍然不是标准化的。规范化表单将使用多对多关系。因此,一个表只用于兴趣(id,interest\u name),另一个表用于与用户的关系(user\u id,interest\u id)。