mysqli_change_user
(PHP 5)
mysqli_change_user
(no version information, might be only in CVS)
mysqli->change_user -- 指定されたデータベース接続のユーザ名を変更する
説明
手続き型:
bool
mysqli_change_user ( mysqli link, string user, string password, string database )
オブジェクト指向型(メソッド):
class
mysqli {
bool
change_user ( string user, string password, string database )
}
mysqli_change_user() は link
引数で指定されたデータベース接続のユーザ名を変更し、
database 引数で指定されたデータベースを
カレントにセットします。
database 引数には NULL 値を渡すこともできます。
その場合ユーザの変更だけでデータベースの選択はされません。
そのようなケースでデータベースを選択したい場合には
mysqli_select_db() 関数を使用してください。
ユーザーを正しく変更するには、username と
password 引数を正しく渡す必要があります。
またそのユーザが対象のデータベースに対する適切なパーミッションを
持っている必要があります。どんな理由であれ、認証に失敗するとカレントユーザの
認証が継続されます。
注意:
このコマンドを使用すると、常に、カレントのデータベース接続は
あたかも完全に新しいデータベース接続であるかのようになります。
これにより、全てのアクティブなトランザクションはロールバックされ、
一時テーブルは全てクローズされ、ロックされたテーブルはすべて
開放されます。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例 1. オブジェクト指向型
<?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(); ?>
|
|
例 2. 手続き型
<?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); }
/* close connection */ mysqli_close($link); ?>
|
|
上の例の出力は以下となります。
デフォルトデータベース: world
変数 a の値は NULL |