如何在php中显示特定mysql数据库中的所有表名

2 php mysql

我正在尝试显示数据库中的所有表名。这是我的代码:

<?php
define('DB_HOST', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'nucleus');
$db=new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);
$query = $db->prepare('SHOW TABLES FROM `nucleus`');
$query->execute();
while($rows = $query->fetch()){
     echo " $rows";
}
?>
Run Code Online (Sandbox Code Playgroud)

每个条目都显示所有内容1,我不知道为什么。有什么解决办法吗?

Cha*_*mar 7

要获取所有表的名称,请使用:

SELECT table_name FROM information_schema.tables;
Run Code Online (Sandbox Code Playgroud)

要从特定数据库获取表的名称,请使用:

SELECT table_name FROM information_schema.tables where table_schema='<your_database_name>';
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅:http://dev.mysql.com/doc/refman/5.0/en/information-schema.html