2016-08-22 90 views
0

我的目的是在PHP表格中顯示使用PHP查詢到遠程ODBC SQL數據庫的結果。 我已經建立了與數據庫的連接,但是當我嘗試執行查詢並將其顯示在表中時,它不顯示任何內容。 如果表是視圖,查詢語法是否有區別? 環境是在Windows上,PHP 5.6.19安裝WAMP,APACHE 2.4.18查詢SQL數據庫表格視圖並在HTML表格中顯示結果

這是代碼(我已省略了ODBC連接的變量):

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table, th, td { 
    border: 1px solid black; 
} 
</style> 
</head> 
<body> 
<?php 


$conn=odbc_connect("Driver={SQL Server};Server=$server;Database=$database;", $user, $password); 

if($conn) { 
    echo "Connection established.<br />"; 
}else{ 
    echo "Connection could not be established.<br />"; 
    die(print_r(odbc_error(), true)); 

    $sql = "SELECT * FROM ASSET_VIEW"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    echo "<table><tr><th>numero</th></tr>"; 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>".$row["N_IMMA"]."</td></tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
} 



?> 
</body> 
</html> 

我得到的是「建立連接」字符串,就是這樣。 我想顯示錶格中的所有結果(約30列和300行)。我嘗試過不同的表格,但我仍然得到相同的結果。我對PHP和MySql相對比較陌生,可能這是一個愚蠢的請求,但暫時我無法理解它。

謝謝

+0

我的猜測是:你是受限於這些功能:http://www.php.net/manual/en/ref.uodbc.php –

回答

2

您還沒有關閉連接的else支架不能被禁止。這就是爲什麼表格部分沒有被引入。

if($conn) { 
echo "Connection established.<br />"; 
}else{ 
echo "Connection could not be established.<br />"; 
die(print_r(odbc_error(), true)); 
} 
// Logic to build the table from query 
+0

嗨,我不知道這是問題;根據@KIKO軟件的建議,我查看了odbc函數並相應地更改了代碼: $ query =「SELECT [NU_INT] FROM [INPROGRESS_WO_VIEW]」; $ result = odbc_exec($ conn,$ query); while(odbc_fetch_row($ result)){$ name = odbc_result_all($ result); // $ surname = odbc_result_all($ result,3); // print(「$ name \ n $ surname \ n」); } odbc_close($ conn); - Adex.andros 31分鐘前

+0

user2445413是對的。只有當沒有連接時,站點纔會嘗試從數據庫中獲取數據。否則,將只有輸出「建立連接」。 – Marcel1997

+0

不幸的是,這也不起作用;如果我正確地關閉了所有括號,它會引發這個錯誤:「致命錯誤:調用成員函數query()在資源中」 - 我想我應該使用mysqli而不是mysql,但我不確定它是如何工作的 –

相關問題