PHP sql查询不返回表格内容

Posted

技术标签:

【中文标题】PHP sql查询不返回表格内容【英文标题】:PHP sql query does not return table content 【发布时间】:2021-08-13 10:20:02 【问题描述】:

我想在 php 中执行一个简单的 sqlsrv_query 查询。为此,我安装了 MS 驱动程序并能够与我的数据库 (SQL Server Management Studio 18.9.2) 建立连接。我不明白的是消息Resource id #3,我认为这既不是失败也不是错误。我期望表格内容的原始 echo / print_r 。我错过了什么?

$sql = "SELECT * FROM nodes";
$stmt = sqlsrv_query($conn, $sql);

if ($stmt === false) 
    die (print_r(sqlsrv_errors(), true));
 else 
    while ($row = sqlsrv_fetch($stmt))
    print_r($row);
    print_r($stmt);
    echo "<br />Statement executed";

表格如下:

我得到的错误:

【问题讨论】:

【参考方案1】:

尝试使用 sqlsrv_fetch_array 语句代替 sqlsrv_fetch。

while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))

    // print_r($row);
    print($row["nodes"] . "<br>");

【讨论】:

我认为更好的方法是使用 PDO 代替 SQLSRV 函数。 感谢我测试过的提示。 ressource #id 3 消息消失了,但我也没有收到任何进一步的结果。在“连接已建立”消息之后,只是纯空白。 我修改了答案,请尝试一下。我认为您的专栏名称是“节点”。

以上是关于PHP sql查询不返回表格内容的主要内容,如果未能解决你的问题,请参考以下文章

php查询sql表中数据,存在则返回显示1,不存在显示0

PHP sql查询没有返回任何内容

PHP SQL Join 查询合并多数组中的内容

PHP SQL 查询不返回与 phpMyAdmin 中相同的行

SQL 查询返回无意义的结果

PHP判断sql语句是不是执行成功