📜  在 php 中显示所有数据库表(1)

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

在 PHP 中显示所有数据库表

在 PHP 中,可以使用 MySQLi 面向对象扩展或者 PDO 扩展来连接数据库并操作数据库表。为了显示某个数据库中的所有表,我们需要查询该数据库的表结构信息。

使用 MySQLi 面向对象扩展实现
<?php

// 配置数据库连接参数
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 查询数据库中所有表的信息
$tables = array();
$result = $conn->query("SHOW TABLES");
while ($row = $result->fetch_array(MYSQLI_NUM)) {
    $tables[] = $row[0];
}

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

// 关闭连接
$conn->close();

?>
使用 PDO 扩展实现
<?php

// 配置数据库连接参数
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// 创建连接
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    die("连接失败: " . $e->getMessage());
}

// 查询数据库中所有表的信息
$tables = array();
$result = $conn->query("SHOW TABLES");
while ($row = $result->fetch(PDO::FETCH_NUM)) {
    $tables[] = $row[0];
}

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

// 关闭连接
$conn = null;

?>

以上两种实现方法都使用 SHOW TABLES SQL 查询语句来获取数据库中所有表的信息,并将结果存储在一个数组中。然后使用循环遍历数组来输出表名称。需要注意的是,在使用 PDO 扩展时,需要 catch 异常并输出错误信息。