我正在尝试创建一个描述我的数据库表的简单PHP页面,这样我总能找到我正在寻找的表/列名称或数据类型(如果你愿意的话,这是一种穷人的模式)。 / p>
我以前使用Sybase数据库完成了这项工作,但我们的新数据库将是SQL Server,因此我尝试使用该数据库重现它。
try {
$conn = new PDO("odbc:Driver={SQL Native Client};Server=servername,1433;Database=dbname;Uid=user;Pwd=password;");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch(PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
try {
$query = $conn->query("execute sp_help tablename");
} catch(PDOException $e) {
echo "Error: ".$e->getMessage();
}
while($result = $query->fetch(PDO::FETCH_ASSOC)) {
print_r($result);
}
但是就好像我只获得了第一个结果(它没有循环)。我期待类似于此处给出的示例SQL Server FAQ,但我得到的是第一行(name,owner,type,date_created),结果集不会继续给出列名等(这就是我'我真的在。)
有什么想法吗?
更新:根据TechNet,如果给出的参数是用户表,它应该返回列,但在这种情况下它不会。我得到的只是......
Array ( [Name] => TableName [Owner] => dbo [Type] => user table [Created_datetime] => 2013-07-15 23:26:43.377 )
答案 0 :(得分:0)
我能想到的唯一方法是在sybase端创建可以调用sp_help并返回require数据的过程。可以根据需要使用该程序。