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);
?>