列出 MySQL 数据库中的表

# mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — 列出 MySQL 数据库中的表

警告

本函数自 PHP 4.3.0 起已废弃，并且它和整个 MySQL 扩展自 PHP 7.0.0 开始被移除。 可以选择出于活跃开发中的 MySQLi 或 PDO_MySQL 扩展来作为替代。 参见 MySQL：选择 API 指南来获取更多信息。用以替代本函数的有：

- SQL Query: `SHOW TABLES FROM dbname`

### 说明

function mysql_list_tables(string `$database`, resource `$link_identifier` = ?): resource|false

列出 MySQL 数据库中的表。

此函数已废弃。推荐使用 mysql_query() 来执行 SQL `SHOW TABLES [FROM db_name] [LIKE 'pattern']` 来实现同样的操作。

### 参数

`database`
  数据库名称
`link_identifier`
  MySQL 连接。如不指定连接标识，则使用由 mysql_connect() 最近打开的连接。如果没有找到该连接，会尝试不带参数调用 mysql_connect() 来创建。如没有找到连接或无法建立连接，则会生成 `E_WARNING` 级别的错误。

### 返回值

成功时返回结果指针 resource 或者在失败时返回 `false`。

可以使用 mysql_tablename() 函数来遍历该结果指针，或者使用任何针对表操作的函数，类似 mysql_fetch_array()。

### 示例

示例 #1 mysql_list_tables() 例子

    <?php
    $dbname = 'mysql_dbname';

    if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
        echo 'Could not connect to mysql';
        exit;
    }

    $sql = "SHOW TABLES FROM $dbname";
    $result = mysql_query($sql);

    if (!$result) {
        echo "DB Error, could not list tables\n";
        echo 'MySQL Error: ' . mysql_error();
        exit;
    }

    while ($row = mysql_fetch_row($result)) {
        echo "Table: {$row[0]}\n";
    }

    mysql_free_result($result);
    ?>

### 注释

> 注意: 为了向下兼容，可以使用下列已废弃的别名： mysql_listtables()

### 参见

- mysql_list_dbs() - 列出 MySQL 服务器中可用的数据库
- mysql_tablename() - 取得表名

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open