我正在使用下面的代码显示我的数据库中的表。
我得到“已连接到数据库”,但没有别的。我的代码是否正确?我可以用另一种方式获取我需要的信息吗?
<?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 :(得分:10)
替代方式,也提取模式名称
SELECT TABLE_CATALOG ,
TABLE_SCHEMA ,
TABLE_NAME ,
TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
答案 1 :(得分:3)
SELECT * FROM sys.Tables;
应该做的魔术:-D
如果你想看到所有列,我会做
SELECT TOP 1 * From Tablename;
所以你会得到所有列的一行,它不完美但是如果你只是想知道那就行了
答案 2 :(得分:0)
我这样做:
// Check if table exists
$sqlExist = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'dem';";
$stmtExist = sqlsrv_query( $conn_mssql, $sqlExist );
$exist = $row = sqlsrv_fetch_array( $stmtExist, SQLSRV_FETCH_ASSOC);
if ($exist == "") {
echo "Die abgefragte Tabelle existiert nicht oder ist nicht erreichbar!";
} else {
// MSSQL QUERY ITSELF
$sql = "SELECT * from dem;";
$stmt = sqlsrv_query( $conn_mssql, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['id'] . " " . $row['cdemo2'] . ", " . $row['cdemo1'] . "<br>";
}
sqlsrv_free_stmt( $stmt);
}