PHP MSSQL PDO 获取表名



我想使用 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;
  }

我使用的用户权限只有read权限

针对information_Schema的查询。

select Table_Name, table_type from information_schema.tables

您可以使用列表获取列等的名称 + 数据类型。

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

最新更新