コードは次のとおりです:
function list_tables($database) { $rs = mysql_list_tables($database); $tables = array(); while ($row = mysql_fetch_row($rs)) { $tables[] = $row[0]; } mysql_free_result($rs); return $tables; }
しかし、mysql_list_tablesメソッドは廃止されたため、上記のプログラムを実行すると、次のような廃止されたメソッドのプロンプトメッセージが表示されます:
Deprecated: Function mysql_list_tables() is deprecated in … on line xxx
1つの解決策は、php.iniでerror_reportingを設定することです。メソッドが廃止されましたというプロンプト メッセージが表示されないことを確認します。
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
もう 1 つの方法は、PHP によって公式に推奨されている代替アプローチを使用することです:
function list_tables($database) { $rs = mysql_query("SHOW TABLES FROM $database"); $tables = array(); while ($row = mysql_fetch_row($rs)) { $tables[] = $row[0]; } mysql_free_result($rs); return $tables; }
関連記事: mysql データベース内のすべてのテーブル名を取得する