如何显示数据库中的所有表名?

时间:2019-04-20 09:44:08

标签: php mysql sql database

我试图回显特定数据库中的所有表名,但找不到有效的解决方案!这是我必须执行的代码:

$sql = "SHOW TABLES FROM test";
$result1 = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result1);
if ($resultCheck > 0){
    while ($row = mysqli_fetch_assoc($result1)){
        echo $row;
    }
}

任何帮助都会很棒!

4 个答案:

答案 0 :(得分:3)

您可以在sqlserver / mysql或其他DBMS中使用此简单查询

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema ='Database Name';

例如

SELECT table_name 
FROM information_schema.tables
WHERE table_schema ='TestDB'; --enter you db name here

答案 1 :(得分:2)

$rowarray的形式出现,因此您必须以

的形式获取它。
echo $row['Tables_in_test']

答案 2 :(得分:1)

首先,请确保不要在您正在使用的用户可以看到的范围之外索取数据库(因此,请确保该用户可以看到其他数据库)。

找到了一个,就是代码

$sql = "SHOW TABLES FROM test";
$result1 = $conn->query($sql);
while ($row = mysqli_fetch_assoc($result1)){
  echo $row["Tables_in_test"];
}

答案 3 :(得分:0)

我真的不知道如何使用上述语法 但是您可以在查询编辑器SQL中完成此操作

SELECT table_name FROM information_schema.tables

它提供Db中所有可用的表。 抱歉,与您的问题无关。