我想从php代码创建mysql用户帐户。我的代码正在工作,但无法登录到使用该代码创建的用户帐户。这是我的PHP代码如何使用php创建mysql用户pdo
//include database connection function
include("dbcon.inc.php");
//prepare db connection
dbcon(1,"root");
//call db_user function to create new db user account
db_user(1,1,"insert","user123");
function db_user($user_admin,$user_active,$user_action,$user_name){
global $conn;
$sql_query="";
$host_name="localhost";
$staff_password="123";
$database_name="smart_lib";
if($user_action=="insert"){
//create user account
$sql_query="CREATE USER '$user_name'@'$host_name' IDENTIFIED WITH mysql_native_password AS '$staff_password';";
}
elseif($user_action=="update"){
//update
$sql_query="REVOKE ALL PRIVILEGES ON *.* FROM '$user_name'@'$host_name';";
}
//if user is active give privilages
if($user_active==1){
//if user is an admin give admin privilages
if($user_admin==1){
$sql_query.="GRANT ALL PRIVILEGES ON *.* TO '$user_name'@'$host_name' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;";
}
//if user not an admin give privilages without grant optin
else{
$sql_query.="GRANT SELECT, INSERT, UPDATE, DELETE ON `$database_name`.* TO '$user_name'@'$host_name'; FLUSH PRIVILEGES;";
}
}
$sql = $conn->prepare($sql_query);
$sql->execute();
echo $sql_query."<br/>";
}
我使用echo $sql_query
得到查询和执行它在PHP myadmin。它工作正常。
这是我的数据库连接。
你正在得到哪个错误? – user3663
你有没有想过,也许这是你的登录代码不起作用? –
代码正在工作。没有错误。但无法登录到创建的用户。 –