PHP MSSQL PDO获取表名?

PHP MSSQL PDO获取表名?,php,sql-server,pdo,Php,Sql Server,Pdo,我想使用PDO(MSSQL)从远程数据库获取表数组 我注意到我不能使用mysql查询命令,有没有建议如何使用pdo或mssql从mssql数据库获取所有表信息? 我可以连接: try { $hostname = $myServer; $port = 10060; $dbname = $myDB ; $username = $myUser ; $pw = $myPass; $dbh = new PDO ("mssql:host=$hostname;d

我想使用PDO(MSSQL)从远程数据库获取表数组 我注意到我不能使用mysql查询命令,有没有建议如何使用pdo或mssql从mssql数据库获取所有表信息?

我可以连接:

try {
    $hostname = $myServer;
    $port = 10060;
    $dbname = $myDB ;
    $username = $myUser ;
    $pw = $myPass;
    $dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }
但无法获取数据:

$q = $dbh->prepare("DESCRIBE");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);
print_r($table_fields);

  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }

我正在使用的用户权限只有
读取
权限

对信息架构进行查询

select Table_Name, table_type from information_schema.tables
您可以使用columns表获取列的名称+数据类型等

select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, data_type, CHARACTER_MAXIMUM_LENGTH 
from INFORMATION_SCHEMA.COLUMNS

请参阅编辑。这两个表都包含更多信息,但我只包含了一些列作为参考