Php 为每个实际用户创建用户?

Php 为每个实际用户创建用户?,php,mysql,scalability,Php,Mysql,Scalability,我正在努力使我曾经的家庭网站能够容纳两个以上的用户。是否可以为每个在我的网站上注册的人创建一个新的MySQL用户 CREATE USER $userName [IDENTIFIED BY [PASSWORD] '$userPass'] 每次有人注册?然后,我将以他们的名义设置mysql\u connect()调用 或者,做类似的事情是否有好处/注意事项 CREATE USER genericSiteUser [IDENTIFIED BY [PASSWORD] 'sitePass'] 只需将

我正在努力使我曾经的家庭网站能够容纳两个以上的用户。是否可以为每个在我的网站上注册的人创建一个新的MySQL用户

CREATE USER $userName [IDENTIFIED BY [PASSWORD] '$userPass']
每次有人注册?然后,我将以他们的名义设置
mysql\u connect()
调用

或者,做类似的事情是否有好处/注意事项

 CREATE USER genericSiteUser [IDENTIFIED BY [PASSWORD] 'sitePass']

只需将
$userName
放在一列中,以跟踪谁留下了什么评论,等等?或者还有第三种方法比这两种方法都好吗?

创建数据库用户既不可扩展,也不安全。相反,您应该创建一个具有尽可能少的权限的数据库用户(理想情况下,只有insert/select/update/delete),然后使用表跟踪用户


然后,您可以在注释表中为用户表创建外键。

创建数据库用户既不可扩展,也不安全。相反,您应该创建一个具有尽可能少的权限的数据库用户(理想情况下,只有insert/select/update/delete),然后使用表跟踪用户

然后,您可以在comments表中为user表创建一个外键。

否——MySQL
create user
命令用于向用户提供对MySQL数据库本身的访问权限。普通应用程序不应该调用它;事实上,良好的安全实践要求应用程序使用的数据库用户不应具有管理用户所需的
SUPER
权限

由于应用程序的用户与用于访问MySQL的用户凭据完全无关,因此应用程序应该在数据库表中维护其用户的数据,就像应用程序使用的任何其他数据一样。

否--MySQL
CREATE user
命令用于让用户访问MySQL数据库本身。普通应用程序不应该调用它;事实上,良好的安全实践要求应用程序使用的数据库用户不应具有管理用户所需的
SUPER
权限


由于应用程序的用户与用于访问MySQL的用户凭据完全无关,因此应用程序应该在数据库表中维护其用户的数据,就像应用程序使用的任何其他数据一样。

我认为在用户自己的表中处理用户更为常见。你能解释一下“外键”是什么意思吗?这就是我所说的“站点通行证”吗?你永远不应该使用
CREATE USER
(针对你网站的用户)。您应该有一个表,我们称之为
users
,然后使用
insert-into-users-values('newUserName','hashedPassword')
。然后,您的登录代码应该检查用户名和密码是否与用户键入的内容匹配。我有点过于简单化了——你需要看一本好的教程,以获得正确的详细程度,而不会让人感到不知所措。外键只是对另一个表的引用。您只需将ID(或任何其他主键)放入引用表(
comments
)中,然后在需要将用户名连接到注释时可以加入该列。再次,请阅读有关概念的教程,这样你就可以得到比我在这里描述的更好的想法。@Platinum_Azure我感谢你给我的指导。你知道可以举例说明你所说的概念的教程吗?不幸的是!非常好!g搜索“创建一个用户表mysql”只指数据库用户,而不是实际的人员用户表:-(再次感谢。看看这个问题:使用问题中的项目作为谷歌搜索词,并尝试拼凑您的知识。如果您有具体问题,请随时在堆栈溢出上提出新问题。希望这对您有所帮助!(事实上,我还没有找到一个好的教程——自从我使用PHP以来,它就一直在使用,这些天我一直在使用web框架进行大量工作。)我认为在他们自己的表中处理用户更常见。你能解释一下“外键”是什么意思吗?这就是我所说的“sitePass”?你永远不应该使用
创建用户
(对于你网站的用户)。你应该有一个表,让我们称之为
用户
,然后使用
插入用户值('newUserName'、'hashedPassword')
。然后,您的登录代码应该检查用户名和密码是否与用户键入的内容匹配。我有点过于简单化了——您需要阅读一本好的教程,以获得正确的详细程度,而不会让人不知所措。外键只是对另一个表的引用。您只需输入ID即可(或任何其他主键)输入引用表(
注释
)然后,当您需要将用户名连接到评论时,您可以加入该专栏。同样,请阅读有关概念的教程,这样您就可以获得比我在这里描述的更好的想法。@Platinum_Azure我感谢您给我的指导。您知道可以举例说明[sic]的教程吗您所谈论的概念?不幸的是,!so和!g搜索“创建用户表mysql”只涉及数据库用户,而不是实际用户的表:-(再次感谢。看看这个问题:使用问题中的项目作为谷歌搜索词,并尝试拼凑您的知识。如果您有具体问题,请随时在堆栈溢出上提出新问题。希望这对您有所帮助!(事实上,我还没有找到一个好的教程——自从我使用PHP以来,它就一直在使用,这些天我一直在使用web框架进行大量工作。)