International PHP Conference Berlin 2025

mysqli::select_db

mysqli_select_db

(PHP 5, PHP 7, PHP 8)

mysqli::select_db -- mysqli_select_dbクエリを実行するためのデフォルトのデータベースを選択する

説明

オブジェクト指向型

public mysqli::select_db(string $database): bool

手続き型

mysqli_select_db(mysqli $mysql, string $database): bool

データベース接続に対してクエリを実行する際に使用する、 デフォルトのデータベースを設定します。

注意:

この関数は、接続のデフォルトデータベースを変更する際にのみ使用します。 デフォルトデータベースは、mysqli_connect() の 4 番目の引数でも指定可能です。

パラメータ

link

手続き型のみ: mysqli_connect() あるいは mysqli_init() が返す mysqliオブジェクト。

database

データベース名。

戻り値

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

エラー / 例外

mysqli のエラー報告 (MYSQLI_REPORT_ERROR) が有効になっており、かつ要求された操作が失敗した場合は、警告が発生します。さらに、エラー報告のモードが MYSQLI_REPORT_STRICT に設定されていた場合は、mysqli_sql_exception が代わりにスローされます。

例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("Default database is %s.\n", $row[0]);

/* データベースを world に変更します */
$mysqli->select_db("world");

/* 現在のデフォルトデータベース名を取得します */
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Default database is %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("Default database is %s.\n", $row[0]);

/* データベースを world に変更します */
mysqli_select_db($link, "world");

/* 現在のデフォルトデータベース名を取得します */
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("Default database is %s.\n", $row[0]);

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

Default database is test.
Default database is world.

参考

add a note

User Contributed Notes 1 note

up
0
lori at astoundingteam dot com
1 year ago
Note that the order of arguments for `mysqli_select_db` is opposite what it is for the deprecated `mysql_select_db`.
To Top