Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql中的一列中存储多个值_Php_Mysql_Database_Multiple Value - Fatal编程技术网

Php 在mysql中的一列中存储多个值

Php 在mysql中的一列中存储多个值,php,mysql,database,multiple-value,Php,Mysql,Database,Multiple Value,表名:实习,现在我想存储公司名称XYZ所需的技能,如:php、java等。问题是在公司注册时,我必须指定或复选框…等的文本,以及如何将其存储在数据库中?id为?如1表示php 2表示java 第二。当学生搜索实习时,在感兴趣的领域中,他指定php,其他学生指定java,因此,公司xyz必须同时显示在学生搜索中,因为公司同时提供php和java实习,那么如何检索表单数据库,?应该有一个单独的技能表,其中包含技能名称和技能id?您应该有一个单独的表,将每个公司链接到他们需要的所有技能,例如公司表:

表名:实习,现在我想存储公司名称XYZ所需的技能,如:php、java等。问题是在公司注册时,我必须指定或复选框…等的文本,以及如何将其存储在数据库中?id为?如1表示php 2表示java


第二。当学生搜索实习时,在感兴趣的领域中,他指定php,其他学生指定java,因此,公司xyz必须同时显示在学生搜索中,因为公司同时提供php和java实习,那么如何检索表单数据库,?应该有一个单独的技能表,其中包含技能名称和技能id?

您应该有一个单独的表,将每个公司链接到他们需要的所有技能,例如公司表:

…以及实习表中要求的技能:

…然后您可以有一个单独的技能表,将技能ID映射到技能名称:

SkillID  SkillName
_______  _________
1        PHP
2        Java
3        MySQL
...
例如,如果Java是skill 2,则可以执行以下操作:

SELECT CompanyID FROM Internship WHERE SkillID=2;
该查询返回需要Java的公司。或者,更复杂的查询:

SELECT CompanyName 
FROM Company JOIN Internship USING(CompanyID)
  JOIN Skill USING(SkillID)
WHERE SkillName = 'Java'

您不应该在一列中放入多个值,因为这样做会中断。查看该链接,了解您可能遇到的问题示例,以及如何解决这些问题。

您不能在一列中存储多个值。就这么简单
SELECT CompanyID FROM Internship WHERE SkillID=2;
SELECT CompanyName 
FROM Company JOIN Internship USING(CompanyID)
  JOIN Skill USING(SkillID)
WHERE SkillName = 'Java'