2013-09-24 68 views
1

我想創建一個簡單的PHP頁面來描述我的數據庫的表,這樣我總能找到我正在尋找的表/列名或數據類型(一種窮人的模式if你會)。SP_HELP輸出到PHP數組

我以前用Sybase DB完成了這項工作,但是我們的新數據庫將是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給出的例子,但我得到的是第一行(名稱,所有者,類型,date_created)結果集不繼續給列名等(這是我真的在之後) 。

任何想法?

更新:根據TechNet如果給出的參數是用戶表,它應該返回列,但在這種情況下它不。我得到的是...

Array ([Name] => TableName [Owner] => dbo [Type] => user table [Created_datetime] => 2013-07-15 23:26:43.377) 
+0

那麼sp_help是做什麼的?你期待什麼結果? –

+0

我期待着我給出的鏈接中給出的內容。我真正追求的是列名和數據類型等結果的第二部分。 – Barbs

回答

0

我能想到的唯一方法是在SYBASE一面,可以稱之爲sp_help和將返回需要的數據創建過程。該程序可以根據需要使用。