📜  通过 php 获取 sql 中的所有表名 - SQL (1)

📅  最后修改于: 2023-12-03 15:12:22.857000             🧑  作者: Mango

通过 PHP 获取 SQL 中的所有表名 - SQL

在 PHP 中,我们可以使用以下方法来获取 SQL 中的所有表名:

// 连接到数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 获取所有表名
$tables = array();
$result = mysqli_query($conn, "SHOW TABLES");
while ($row = mysqli_fetch_row($result)) {
    $tables[] = $row[0];
}

以上代码中,我们首先要连接到数据库,并使用 SHOW TABLES 查询来获取所有表名。然后使用 mysqli_fetch_row() 函数来逐行获取查询结果,并将表名存储到一个数组中。

以下是完整代码示例:

// 连接到数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 获取所有表名
$tables = array();
$result = mysqli_query($conn, "SHOW TABLES");
while ($row = mysqli_fetch_row($result)) {
    $tables[] = $row[0];
}

// 输出所有表名
foreach ($tables as $table) {
    echo $table . "<br>";
}

以上代码输出所有表名,并使用 <br> 标签来进行换行。

另外,我们也可以使用以下方法来获取表名,这种方法同样可以使用 PDO 或其他数据库扩展来实现:

// 连接到数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 获取所有表名
$tables = array();
$sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'database'";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_row($result)) {
    $tables[] = $row[0];
}

// 输出所有表名
foreach ($tables as $table) {
    echo $table . "<br>";
}

以上代码中,我们首先要连接到数据库,并使用查询 SELECT table_name FROM information_schema.tables WHERE table_schema = 'database' 来获取所有表名。其中,table_schema 参数指定了数据库名,我们需要将其替换为实际的数据库名。然后使用 mysqli_fetch_row() 函数来逐行获取查询结果,并将表名存储到一个数组中。最后输出所有表名。

以上就是通过 PHP 获取 SQL 中的所有表名的方法。