PHPでMySQLのデータベース一覧を取得し、データベース名を確認する方法
PHPでMySQLのデータベース一覧を取得し、データベース名を確認する方法として、mysql_list_dbs()という関数を使う方法があるようだが、php.netのマニュアルを見ていると、
この関数は、PHP 5.4.0 以降では非推奨となりました。 この関数は決して使わないようにしましょう。
という警告が書かれていた。
さらに、警告だけでなく、ありがたいことに、mysql_list_dbs()関数を使わない代わりに、「show databases;」とSQLを実行する方法が紹介されていた。
(参考:http://php.net/manual/ja/function.mysql-list-dbs.php)
「show databases;」は、MySQLをLinuxコンソールでコマンドラインで操作する時によく使うので「なるほど」と思った。
早速、試してみる。
《プログラム例》
<?php
$con = mysql_connect("localhost","データベースユーザ名","データベースパスワード");
$result = mysql_query("show databases");
print_r(mysql_fetch_assoc($result));
?>
《実行結果》
Array ( [Database] => neko )
※データベースが複数存在する場合は、複数表示される。上記の例は、「neko」という名前のデータベースが1つ存在することを意味する。