0

连接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 命令是什么?

4

2 回答 2

0

尝试更改PDO::FETCH_ASSOCPDO::FETCH_NUM.

请试试

$query = $db1->prepare('show tables');
$query->execute();
 $Columns = array();
 while($row = $result->fetch(PDO::FETCH_NUM)){
     $Columns[] = $row[0];
 }
于 2013-11-13T14:36:51.323 回答
0

如果您使用的是 MySQL,那么您可以使用以下查询从 information_schema 数据库中将其作为正常结果集:-

select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA='YOUR_DATABASE_NAME_HERE';

您可能需要为您的应用程序用户提供对 information_schema 数据库的 SELECT 访问权限。

于 2013-11-13T14:45:26.980 回答