2016-08-22 88 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,但我不确定它是如何工作的 –

相关问题