Php 在json编码的数组上使用mysql in-array操作符?

Php 在json编码的数组上使用mysql in-array操作符?,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我正在使用IN-array操作符创建约会网站的搜索查询 e.g SELECT * from 'users' where 'job' IN("1", "2", "3"); 在我有一个专栏供用户选择多个选项之前,这个功能一直运行良好 e.g jobs ["1", "2"] is stored in the database. 那么,是否可以在json数组上使用in-array呢 是否有解决方案,例如在数据库中存储多个选项的不同方法 要获得帮助,请在数据库中输入图像 您的用户应该具有唯一的ID。

我正在使用IN-array操作符创建约会网站的搜索查询

e.g SELECT * from 'users' where 'job' IN("1", "2", "3");
在我有一个专栏供用户选择多个选项之前,这个功能一直运行良好

e.g jobs ["1", "2"] is stored in the database.
那么,是否可以在json数组上使用in-array呢

是否有解决方案,例如在数据库中存储多个选项的不同方法

要获得帮助,请在数据库中输入图像

您的用户应该具有唯一的ID。 创建另一个表“职业”,并将每个职业插入其中,并将每一行分配给一个用户

occupations
----------------------
name         user_id
______________________
Film         1
Singer       1
Copywriter   2
然后你可以搜索像电影这样的关键词

SELECT * FROM `occupations` WHERE name LIKE "%Film%"
所有用户都被分配了职业“电影”

多个:

SELECT * FROM `occupations` WHERE name LIKE "%Film%" OR name LIKE "%Singer%"

所有使用film和singer的用户。

有人真的需要阅读数据库规范化阅读数据规范化。具有多个选项的列应该是它自己的表。作业[“1”、“2”]如何存储在数据库中?作为一个字符串?存储在varchar列中,就像json_编码的数组一样,我最好能描述它,我还在学习。我想知道该怎么做,但我很担心,因为我认为更多的查询可能会减慢速度或其他什么,谢谢。