php - 存储用户网站权限并在mySQL中查询的方法?

标签 php mysql

我有什么:

我的表中有一个名为 privileges 的列,它存储了用户的一串特权。 (-1 = 所有者,0 = 管理员,1 = 中等评论,等等)所以我会在 sql 中有这样的字符串:1,2,3

问题:

如果我想选择所有管理员和版主用户,使用 LIKE 条件会有点棘手。现在,如果我想要一个管理员,我只是循环搜索所有用户以搜索 1(使用 PHP - 效率低下)。

我正在寻找一种易于被插件开发人员“插入”并且易于查询的解决方案。我的解决方案有效,但如果用户增长到数百个,则可能需要一段时间反复循环所有用户才能找到特定权限。

有没有人对此有更好的方法或想法?

最佳答案

为什么不使用像 Priviledge 这样的表,它包含一个 ID 和一个名称。然后添加一个与 used_id 和 priviledge_id 相关的多对多 UserPriviledge 表,这样就可以像创建 INNER_JOIN 一样简单地查找用户

关于php - 存储用户网站权限并在mySQL中查询的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4540634/

相关文章:

php - 糟糕的 Laravel 升级错误

php - mysql查询和内爆

php - 根据数据库结果设置 Yii2 catchAll 路由

c# - 绑定(bind)datagrid时数据库异常

php - 如何使用 PHP INSERT 将数组存储到 mysql 并使用相同的 id 变量值

php - Helm 图表 Prometheus 无法找到放置在其他命名空间中的目标指标

mysql - mysqldump 时指定/不指定用户有什么区别?

mysql - 我怎样才能找到MySQL中两个日期之间的差异?

mysql - SQOOP 导出失败(摄取到 mysql 中)

python - 与 MySQL dB 的 SSL 连接失败