PHP MSSQL PDO 获取 table 名称?
PHP MSSQL PDO get table names?
我想使用 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
您可以使用列 table 来获取列的名称 + 数据类型等。
select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, data_type, CHARACTER_MAXIMUM_LENGTH
from INFORMATION_SCHEMA.COLUMNS
我想使用 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
您可以使用列 table 来获取列的名称 + 数据类型等。
select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, data_type, CHARACTER_MAXIMUM_LENGTH
from INFORMATION_SCHEMA.COLUMNS