使用PHP代码在phpMyadmin中创建用户帐户

问题描述 投票:0回答:1

我在下面尝试了在phpmyadmin中创建用户帐户的代码:

<?php
if(isset($_GET['page'])){
    $connection = mysqli_connect('localhost', 'root');
    if(!$connection){
        echo 'MySQL Server Connection Issue';
    }
    else{
        $username = $_POST['username'];
        $password = $_POST['password'];
        $sql = "CREATE USER \'".$username."\'@\'%\' IDENTIFIED VIA mysql_native_password USING \'***\'GRANT ALL PRIVILEGES ON *.* TO \'".$username."\'@\'%\' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0GRANT ALL PRIVILEGES ON `".$username."\\_%`.* TO \'".$username."\'@\'%\'";
        $mysqli_query = mysqli_query($connection, $sql);
        if($mysqli_query){
            echo 'done';
        }
        else{
            echo 'faild';
        }
    }
}
else{
    ?>
    <!DOCTYPE html>
    <html>
     <head>
     </head>
     <body>
      <form action="?page=create_user" method="POST">
       <input type="text" name="username" required>
       <input type="password" name="password" required>
       <input type="submit" value="Create User">
      </form>
     </body>
    </html>
    <?php
}
?>

它只是回应'失败'。为什么?说明:当访问者访问网页时,他会获得一个带有两个字段(用户名和密码)和一个提交按钮的html表单。如果访问者填写表单并提交,则代码必须使用在表单中输入的用户名和密码创建phpmyadmin用户帐户。我添加了一个代码,如果代码在创建MySQL用户时有错误,它将回显'faild'。当我尝试提交表单时,它现在显示'faild'字样。这意味着你在代码中有一些错误。但我无法弄明白。请帮我这个....

php phpmyadmin php-7 php-5.3
1个回答
0
投票

你使用反斜杠不是每一个引用。试试这个查询:

$sql = "CREATE USER '" .$username. "' @ '%' IDENTIFIED VIA mysql_native_password USING '***'GRANT ALL PRIVILEGES ON *.* TO '".$username." '@' % ' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0GRANT ALL PRIVILEGES ON `".$username."' _%`.* TO '".$username."'@'%'";
© www.soinside.com 2019 - 2024. All rights reserved.