如何在连接到mysql数据库后仅获取数据表名称。
$query = $db1->prepare('show tables');
$query->execute();
$Columns = array();
$index = 0;
while($rows = $result->fetch(PDO::FETCH_ASSOC)){
var_dump($rows);
$Columns[$index] = $row;
$index++;
}
我想获得这样的列表:[tabel1,table2 ...] 但第6行的结果是:
array(1) { ["Tables_in_database_name"]=> string(5) "tabel1" } array(1) { ["Tables_in_database_name"]=> string(10) "Datacamera" } array(1) { ["Tables_in_datacam"]=> string(7) "......." } }
什么是可以添加的php命令,只提取数据表名称?
答案 0 :(得分:0)
尝试将PDO::FETCH_ASSOC
更改为PDO::FETCH_NUM
。
请尝试
$query = $db1->prepare('show tables');
$query->execute();
$Columns = array();
while($row = $result->fetch(PDO::FETCH_NUM)){
$Columns[] = $row[0];
}
答案 1 :(得分:0)
如果您使用的是MySQL,那么您可以使用以下查询从information_schema数据库中将其作为正常结果集获取: -
select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA='YOUR_DATABASE_NAME_HERE';
您可能需要为应用程序用户提供对information_schema数据库的SELECT访问权限。