【问题标题】:How to create a new mySQL database user from php如何从 php 创建一个新的 mySQL 数据库用户
【发布时间】:2015-10-30 02:38:22
【问题描述】:

我想知道是否有办法为我的 MySQL 数据库创建新用户?我正在尝试添加允许用户连接到数据库的基本登录功能。如果用户没有帐户,那么我想创建一个新帐户。这是我到目前为止所拥有的:

<html>
<head>
    <title>Test</title>
</head>
<body>
   <?php
        $username = "root";
        $password = "root";
        $hostname = "localhost"; 

        //connection to the database
        $dbhandle = mysql_connect($hostname, $username, $password) 
          or die("Unable to connect to MySQL");
        echo "Connected to MySQL<br>"; 
        $selected = mysql_select_db("contactsDB",$dbhandle) 
            or die("Could not select examples");    
        echo "Found contacts DB";
        ?>
</body>

一切都正确连接,但现在,我希望用户输入他们的用户名和密码,而不是输入用户名和密码 (root)。同样,如果他们没有,那么我想创建一个新的。

【问题讨论】:

  • 您是否尝试在页面上设置输入字段供用户输入字段?
  • 是的,我已经有了。我遇到的主要问题是创建新的数据库用户。基本上,我正在尝试创建一个联系人页面,该页面将在您创建帐户(存储所有联系人的数据库用户)后存储您的所有联系人。我必须能够通过我的 PhP 代码创建一个新用户;不知道怎么做。 @KingCodeFish

标签: php mysql sql-server


【解决方案1】:

您需要至少一个管理员帐户才能创建权限较低的用户。

请参考 create db and user mysql and set privileges php 这是一个很好的参考。

【讨论】:

    【解决方案2】:

    这是完全可能的,但我要避免的一件事是以 root 身份登录来执行这些命令。

    考虑到这一点,类似的方法可能会奏效。

    mysql_connect('localhost', 'user', password);
    mysql_query("CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';");
    mysql_query("GRANT ALL ON db1.* TO 'username'@'localhost'");
    mysql_close();
    

    如果您为这些新用户有一个专用数据库,那么您可以轻松地分配它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 2011-07-27
      • 2012-02-23
      • 2023-03-19
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多