2015-04-23 68 views
1

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

我能够连接:

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

回答

2

查询。

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 
+0

日Thnx,以及如何显示内部表中的所有字段? – Jack

+0

请参阅edit.Both表格包含更多信息,但我包含了几列作为指南 –