2

我已经在一个网络应用程序上工作了几个月了。这是一个 PHP 和 MySQL 驱动的数据库应用程序,将对象相互关联。

我想添加一些功能,以便有人可以注册使用它并设置每月订阅。当他们登录应用程序时,只需使用他们自己的数据库中的数据进行填充。

我已经在网上进行了一些搜索,但我正在努力寻找添加此类功能的起点。

该应用程序依赖于数据库中的六个表。所以我也不确定为每个用户创建一个单独的数据库是否可行。

4

1 回答 1

3

为每个用户创建一个数据库很少见——它很复杂,而且好处很少,但也有很多缺点(例如,维护多个同时的数据库连接,因为大多数库只连接到一个数据库)。您真正需要做的是创建一个user表,然后用UserId.

当用户注册时,创建一条新User记录,然后在所有引用该 Id 的其他表中创建他们的新条目。(实际上,只有每个关系对象的“根”需要 aUserId例如如果你有Order并且OrderItems只有Order表需要 a UserId

没有更多细节,就不可能提供进一步的帮助。

顺便说一句,您应该考虑 db-per-user 的唯一情况是每个用户都需要唯一的表(在这种情况下,您的应用程序必须非常复杂才能实际使用数据)或者如果存在安全问题:将数据存储在一起(多个客户比多个用户更有可能)。

于 2012-06-17T23:14:16.490 回答