2011-04-07 36 views
4

我正在使用下面的代碼來顯示我的數據庫中的表。如何列出MSSQL中的所有表?

我得到「連接到數據庫」,但沒有別的。我的代碼是否正確?我可以用另一種方式獲取我需要的信息嗎?

非常感謝

<?php 
$link = mssql_connect('HOST', 'user', 'pass'); 

if (!$link || !mssql_select_db('dbname', $link)) { 
    die('Unable to connect or select database!'); 
}else{ 
echo"Connected to database"; 
} 


$v = mssql_query("Select name from sysobjects where type like 'u'"); 
$row = mssql_fetch_array($v); 

echo "<br>"; echo $row[0]; echo "<br>"; 


mssql_free_result($v); 
?> 
+0

我不是100%肯定,但將這項工作:'mssql_fetch_array($ V ,MSSQL_NUM);'。另外,你確定選擇了數據庫嗎? – Ali 2011-04-07 10:34:04

+0

您的查詢似乎在MSSQL2000上可用。你得到一個錯誤或什麼? – 2011-04-07 10:40:33

+0

沒有錯誤,只是連接到數據庫而沒有其他東西。我確信數據庫..我怎麼知道它是否有權限問題?我沒有託管數據庫,在聯繫主機之前我需要知道。再次感謝 – user523129 2011-04-07 11:14:11

回答

10

替代方式,也取架構名稱

SELECT TABLE_CATALOG , 
     TABLE_SCHEMA , 
     TABLE_NAME , 
     TABLE_TYPE 
FROM INFORMATION_SCHEMA.TABLES 
+0

Thaks MadBender,但仍然沒有結果,空白頁。你認爲這個問題可能是數據庫權限或類似的東西?我沒有託管數據庫,託管它的人可能已經忘記了一些東西。再次感謝 – user523129 2011-04-07 10:46:06

+0

是的,這是可能的。嘗試使用某些應用程序(如SSMS或SQL Explorer)連接並執行此查詢。它可能會給你更詳細的錯誤信息。 – MadBender 2011-04-07 10:58:56

+0

或者也許這個數據庫中沒有表格 – MadBender 2011-04-07 11:09:01

3
SELECT * FROM sys.Tables; 

應該做的魔力:-D

而且如果u希望看到的所有列,我會做

SELECT TOP 1 * From Tablename; 

所以日子會把你弄一排的所有列,它不是完美的,但它的伎倆如果u只是想知道某事

相關問題