如何从php

时间:2015-10-30 02:38:23

标签: php mysql sql-server

我想知道是否有办法为我的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)。再说一遍,如果他们没有,那么我想创建一个新的。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

这是完全可能的,但我要清楚的一件事是以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();

如果您有这些新用户的专用数据库,则可以轻松分配它。