Php/docs/mysqli.change-user

提供:Dev Guides
< Php
移動先:案内検索

mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7)

mysqli::change_user -- mysqli_change_user指定されたデータベース接続のユーザー名を変更する


説明

オブジェクト指向型

public mysqli::change_user ( string $user , string $password , string $database ) : bool

手続き型

mysqli_change_user ( mysqli $link , string $user , string $password , string $database ) : bool

指定されたデータベース接続のユーザー名を変更し、 現在のデータベースを設定します。

ユーザーを正しく変更するには、usernamepassword 引数を正しく渡す必要があります。 またそのユーザーが対象のデータベースに対する適切なパーミッションを 持っている必要があります。どんな理由であれ、認証に失敗するとカレントユーザーの 認証が継続されます。


パラメータ

link

手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。

user

MySQL のユーザー名。

password

MySQL のパスワード。

database

変更するデータベース。

引数には null 値を渡すこともできます。 その場合ユーザーの変更だけでデータベースの選択はされません。 そのようなケースでデータベースを選択したい場合には mysqli_select_db() 関数を使用してください。


返り値

成功した場合に true を、失敗した場合に false を返します。


注意

注意:

このコマンドを使用すると、常に、カレントのデータベース接続は あたかも完全に新しいデータベース接続であるかのようになります。 これにより、全てのアクティブなトランザクションはロールバックされ、 一時テーブルは全てクローズされ、ロックされたテーブルはすべて 開放されます。

例1 mysqli::change_user() の例

オブジェクト指向型


<?php/* データベース test に接続します */$mysqli = new mysqli("localhost", "my_user", "my_password", "test");/* 接続をチェックします */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* 変数 a を設定します */$mysqli->query("SET @a:=1");/* すべてをリセットし、新しいデータベースを選択します */$mysqli->change_user("my_user", "my_password", "world");if ($result = $mysqli->query("SELECT DATABASE()")) {    $row = $result->fetch_row();    printf("デフォルトデータベース: %s\n", $row[0]);    $result->close();}if ($result = $mysqli->query("SELECT @a")) {    $row = $result->fetch_row();    if ($row[0] === NULL) {        printf("変数 a の値は NULL\n");    }    $result->close();}/* 接続を閉じます */$mysqli->close();?>

手続き型


<?php/* データベース test に接続します */$link = mysqli_connect("localhost", "my_user", "my_password", "test");/* 接続をチェックします */if (!$link) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}/* 変数 a を設定します */mysqli_query($link, "SET @a:=1");/* すべてをリセットし、新しいデータベースを選択します */mysqli_change_user($link, "my_user", "my_password", "world");if ($result = mysqli_query($link, "SELECT DATABASE()")) {    $row = mysqli_fetch_row($result);    printf("デフォルトデータベース: %s\n", $row[0]);    mysqli_free_result($result);}if ($result = mysqli_query($link, "SELECT @a")) {    $row = mysqli_fetch_row($result);    if ($row[0] === NULL) {        printf("変数 a の値は NULL\n");    }    mysqli_free_result($result);}/* 接続を閉じます */mysqli_close($link);?>

上の例の出力は以下となります。


デフォルトデータベース: world
変数 a の値は NULL

参考