Note that in the second example, if the database "world" does not exist, the database selected does not change. You may need to add additional code to ensure that you are connected to the correct database.
(PHP 5, PHP 7)
mysqli::select_db -- mysqli_select_db — Устанавливает базу данных для выполняемых запросов
Объектно-ориентированный стиль
$database
): boolПроцедурный стиль
Устанавливает базу данных, которая будет использоваться при выполнении запросов к базе данных
Замечание:
Эта функция используется только для смены базы данных во время подключения. Вы можете выбрать базу данных, передав её четвёртым параметром в функции mysqli_connect().
link
Только для процедурного стиля: Объект mysqli, полученный с помощью mysqli_connect() или mysqli_init()
database
Имя базы данных.
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Пример #1 Пример использования mysqli::select_db()
Объектно-ориентированный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* получаем имя текущей базы данных по умолчанию */
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("База данных по умолчанию: %s.\n", $row[0]);
/* изменяем базу данных по умолчанию на "world" */
$mysqli->select_db("world");
/* получаем имя текущей базы данных по умолчанию */
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("База данных по умолчанию: %s.\n", $row[0]);
Процедурный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
/* получаем имя текущей базы данных по умолчанию */
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("База данных по умолчанию: %s.\n", $row[0]);
/* изменяем базу данных по умолчанию на "world" */
mysqli_select_db($link, "world");
/* получаем имя текущей базы данных по умолчанию */
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("База данных по умолчанию: %s.\n", $row[0]);
Результат выполнения данных примеров:
База данных по умолчанию: test. База данных по умолчанию: world.
Note that in the second example, if the database "world" does not exist, the database selected does not change. You may need to add additional code to ensure that you are connected to the correct database.
In some situations its useful to use this function for changing databases in general. We've tested it in production environment and it seams to be faster with switching databases than creating new connections.