如何使用php和mysql基于用户角色ID访问特定数据库?

时间:2018-03-13 15:36:04

标签: php mysql

您好我有模型表,其中我提到了用户角色ID。

我想知道的是

  • 当用户登录时我想用模型检查用户数据
    表,我想获取用户角色ID。
  • 获取角色ID后,我想根据用户角色的ID将特定数据库绑定或分配给用户。
  • 希望为每个客户分配单独的数据库。

我有什么

  • 我有多个客户端,单个客户端将有10到20个客户端 用户

  • 我在前端有一个Native移动应用程序,我使用PHP 后端。

直到现在我每个应用程序使用一个数据库,所以我不知道动态地将数据库分配给个人客户端/用户。

就我而言

我计划租用AWS或Microsoft Azure,我希望将个人数据库分配给各个客户。

客户 - 是一个组织。 用户 - 是在组织内使用我的应用程序的人。

提前致谢....

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您只需要打开与用户公司数据库的新数据库链接连接。 如果所有数据库都在同一台主机上,那么根据您使用的PHP库,它是微不足道的。例如使用MySQLi:

同一主持人:

$databaseLink->select_db("company_of_the_user_db_name");

其他主持人:

$databaseLink->close();
$databaseLink = new mysqli("newhost", "newUser", "newPass");
$databaseLink->select_db("company_of_the_user_db_name");

其中$databaseLink是存储用户表的旧数据库链接。

几乎所有PHP数据库库都有像select_db这样的函数,否则你可以关闭连接并打开一个新的。