CakeFest 2024: The Official CakePHP Conference

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbsMySQL サーバー上で利用可能なデータベースのリストを得る

警告

この関数は PHP 5.4.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。

  • SQL クエリー: SHOW DATABASES

説明

mysql_list_dbs(resource $link_identifier = NULL): resource

現在の mysql デーモンで利用可能なデータベースの結果ポインタを返します。

パラメータ

link_identifier

MySQL 接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、E_WARNING レベルのエラーが生成されます。

戻り値

成功した場合に結果ポインタ resource を、失敗した場合に false を返します。結果ポインタの中身を調べるために mysql_tablename() 関数を利用し、取得したテーブルを 利用するには mysql_fetch_array() などの関数を 利用してください。

例1 mysql_list_dbs() の例

<?php
// mysql_list_dbs() を使わない方法
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$res = mysql_query("SHOW DATABASES");

while (
$row = mysql_fetch_assoc($res)) {
echo
$row['Database'] . "\n";
}

// PHP 5.4.0 からは非推奨
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while (
$row = mysql_fetch_object($db_list)) {
echo
$row->Database . "\n";
}
?>

上の例の出力は、 たとえば以下のようになります。

database1
database2
database3

注意

注意:

下位互換のために、次の非推奨別名を使用してもいいでしょう。 mysql_listdbs()

参考

add a note

User Contributed Notes 4 notes

up
1
jeff at forerunnertv dot com
3 years ago
There is no direct equivalent of mysql_list_dbs() as a mysqli_list_dbs() command, but you can query "show databases" instead.

So this:

$db_list = mysql_list_dbs($connect); //mysql

Is equivalent to this:

$db_list = mysqli_query($connect, "SHOW DATABASES"); //mysqli
up
-2
busilezas at gmail dot com
9 years ago
The example is wrong in Spanish version.

ERROR: mysql_fetch_assoc() expects parameter 1 to be resource, null given in XXX on line 5
while ($fila = mysql_fetch_assoc($res)) {

OK.
while ($fila = mysql_fetch_assoc($resultado)) {
up
-2
matjung at hotmail dot com
14 years ago
The result pointer contains only the databases for which the mysql_user has the select priviledge granted.
up
-10
theriault
11 years ago
Another alternative to this function is:

SQL Query: SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
To Top