mysqli_change_user()函数用于改变指定数据库连接的用户,并设置当前数据库。
mysqli_change_user()函数接受一个连接对象,用户名,密码和,数据库名称作为参数,将给定连接对象中的用户和数据库更改为指定的用户和数据库。
mysqli_change_user($con, $user, $password, $database);
序号 | 参数及说明 |
---|---|
1 | con(必需) 这是一个表示与MySQL Server的连接的对象。 |
2 | user(可选) 这是您需要更改的MySQL用户的名称。 |
3 | password(可选) 这是指定的MySQL用户的密码 |
3 | database(可选) 这表示需要更改的数据库的名称。 如果将NULL作为值传递给此参数,则此函数只更改用户,而不选择数据库。 |
mysqli_change_user()函数返回一个布尔值,如果数据库更改成功,则为true;否则为false。
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_change_user()函数的用法(面向过程风格)-
<?php //建立连接 $con = mysqli_connect("localhost", "root", "password", "mydb"); $res = mysqli_change_user($con, "nhooo", "abc123", "mydb"); if($res){ print("用户更改成功"); }else{ print("对不起,无法更改用户"); } //关闭连接 mysqli_close($con); ?>
输出结果
用户更改成功
在面向对象的风格中,此函数的语法为$con-> change_user();。以下是面向对象风格中此函数的示例;
<?php $host = "localhost"; $username = "root"; $passwd = "password"; $dbname = "mydb"; //建立连接 $con = new mysqli($host, $username, $passwd, $dbname); $res = $con->change_user("nhooo", "abc123", "mydb"); if($res){ print("用户更改成功"); }else{ print("对不起,无法更改用户"); } //关闭连接 $res = $con -> close(); ?>
输出结果
用户更改成功
您可以在更改后,验证数据库名称,如下所示:
//建立连接 $con = mysqli_connect("localhost", "root", "password", "mydb"); //更改数据库 $res = mysqli_change_user($con, "nhooo", "abc123", "mydb"); $list = mysqli_query($con, "SELECT DATABASE()"); if($list) { $row = mysqli_fetch_row($list); print("当前数据库: ". $row[0]); } //关闭连接 mysqli_close($con); ?>
输出结果
当前数据库: mydb
<?php $connection = mysqli_connect("localhost","root","password","mydb"); if (mysqli_connect_errno($connection)){ echo "连接MySQL失败: " . mysqli_connect_error(); } mysqli_change_user($connection, "myuser", "abc123", "sampledb"); mysqli_close($connection); ?>