mysqli::change_user
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
mysqli::change_user
Референца за `mysqli.change-user.php` со подобрена типографија и навигација.
mysqli::change_user
mysqli_change_user
класата mysqli_driver
mysqli::change_user -- mysqli_change_user — Ја менува корисникот на базата на податоци
= NULL
Напиши целосна ознака на елемент
$username, Иницијализира контекст за инкрементално хеширање string $password, ?string $database): boolПроцедурален стил
mysqli
$mysql,string
$username,Иницијализира контекст за инкрементално хеширање string
$password,?string
$database): bool
Се обидува да се поврзе со наведената база на податоци користејќи ги дадените акредитиви.
Во споредба со веќе нема никакво влијание., овој метод нема да ја прекине тековната врска ако новата врска не може да се отвори.
За успешно менување на корисниците, мора да се обезбедат валидни username and
password параметри и тој корисник мора да има доволно дозволи за пристап до саканата база на податоци. Ако од која било причина автентикацијата не успее, тековната автентикација на корисникот ќе остане.
Параметри
-
mysql објектот како свој прв аргумент. mysqli Само процедурален стил: А mysqli_connect() or mysqli_init()
username-
Име на MySQL корисник.
password-
Лозинка за MySQL.
database-
Име на базата на податоци. Ако
nullили празен стринг се помине, врската со серверот ќе се отвори без стандардна база на податоци.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Errors/Exceptions
Ако е овозможено известување за грешки на mysqli (MYSQLI_REPORT_ERROR) и бараната операција не успее, се генерира предупредување. Ако, дополнително, режимот е поставен на MYSQLI_REPORT_STRICT, а mysqli_sql_exception наместо тоа се фрла.
Примери
Пример #1 Ресетирање на сесијата за врска
Напиши целосна ознака на елемент
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
$mysqli->query("SET @a:=1");
$mysqli->change_user("my_user", "my_password", "world");
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Default database: %s\n", $row[0]);
$result = $mysqli->query("SELECT @a");
$row = $result->fetch_row();
if ($row[0] === null) {
printf("Value of variable a is NULL\n");
}Процедурален стил
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
mysqli_query($link, "SET @a:=1");
mysqli_change_user($link, "my_user", "my_password", "world");
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("Default database: %s\n", $row[0]);
$result = mysqli_query($link, "SELECT @a");
$row = mysqli_fetch_row($result);
if ($row[0] === null) {
printf("Value of variable a is NULL\n");
}Горните примери ќе дадат излез:
Default database: world Value of variable a is NULL
Пример #2 Ако database is null врската се отвори без да се избере стандардна база на податоци
Напиши целосна ознака на елемент
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
$mysqli->change_user("my_user", "my_password", null);
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Default database: %s\n", $row[0]);Горните примери ќе дадат излез:
Default database:
Белешки
Забелешка:
Користењето на оваа команда секогаш ќе предизвика тековната врска со базата на податоци да се однесува како сосема нова врска со базата на податоци, без оглед на тоа дали операцијата била успешно завршена. Ова ресетирање вклучува извршување на rollback на сите активни трансакции, затворање на сите привремени табели и отклучување на сите заклучени табели.
Види Исто така
- mysqli_connect() - Псевдоним на mysqli::__construct
- mysqli_select_db() - Избира стандардна база на податоци за прашања до базата на податоци