Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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 - Fatal编程技术网

使用PHP/MySQL从包含多个值的列中提取单个值

使用PHP/MySQL从包含多个值的列中提取单个值,php,mysql,database,Php,Mysql,Database,我使用内爆函数在一列中插入了select语句中的多个值。现在我想分别检索这些值,以便进一步查询。 我有一个student表,在该表中,我使用内爆函数implode(',',$_POST['aoi']);将他们感兴趣的不同区域存储在单个列中;。表的结构如下所示: id | Name | AOI ------------------------------------------- 101 | Paul | Hardware,Networking 102 |

我使用内爆函数在一列中插入了select语句中的多个值。现在我想分别检索这些值,以便进一步查询。 我有一个student表,在该表中,我使用内爆函数implode(',',$_POST['aoi']);将他们感兴趣的不同区域存储在单个列中;。表的结构如下所示:

id   |  Name   |           AOI
-------------------------------------------
101  | Paul    | Hardware,Networking
102  | Fred    | Finance,Insurance,Banking
现在我想根据学生的兴趣分别检索这些学生数据。我尝试使用explode函数提取数据。但它以数组格式返回数据

我必须分别提取感兴趣的区域。有人能告诉我如何从包含多个值的列中提取单个值吗。这样我可以执行进一步的查询

比如$query=“从学生中选择student.id、student.Name,其中AOI=‘保险’”


谢谢。

您的数据库结构从根本上是错误的,很可能会进一步导致可伸缩性问题。你应该研究一下这个概念。在此特定场景中,您应该使用多对多关系:

学生:

id   | name  
---------------
101  | Paul    
102  | Fred    
学生兴趣

id   |  student_id  | interest_id
---------------------------------
1    |  101         | 1
2    |  101         | 2
3    |  102         | 1
兴趣

id   | interest
----------------
1    | Insurance
2    | Networkings

您的数据库结构从根本上是错误的,它很可能会进一步导致可伸缩性问题。你应该研究一下这个概念。在此特定场景中,您应该使用多对多关系:

学生:

id   | name  
---------------
101  | Paul    
102  | Fred    
学生兴趣

id   |  student_id  | interest_id
---------------------------------
1    |  101         | 1
2    |  101         | 2
3    |  102         | 1
兴趣

id   | interest
----------------
1    | Insurance
2    | Networkings

技巧1,规范化你的数据库。提示2:使数据库正常化。如果使用其他数据库,如MongoDB,则可以将
AOI
添加为数组并存储值。但是使用MYSQL,你需要规范化数据库。我是一个数据库新手。我一定会尝试实现规范化概念。谢谢技巧1,规范化你的数据库。提示2:使数据库正常化。如果使用其他数据库,如MongoDB,则可以将
AOI
添加为数组并存储值。但是使用MYSQL,你需要规范化数据库。我是一个数据库新手。我一定会尝试实现规范化概念。谢谢这就是答案,其他答案到底是什么,鹅。这就是答案,其他答案到底是什么,鹅。