如何从SQL Server检索数据?

问题描述 投票:-4回答:1

当我知道那里有数据时,我想知道为什么我的查询返回null。

我的查询如下:

if (isset($_POST['noteid'])) 
    {
        $showNoteInfo = "SELECT Note FROM Notes WHERE NoteID = 2";
        $showNotes    = sqlsrv_query($conn, $showNoteInfo);

        var_dump($showNotes);
    }

我已经测试了$_POST['noteid']并且显示ID没有问题,理论上这个id将替换我在查询中的数字2的位置。

但是我在Notes表中的表中知道NoteID = 2,文本应该像这个enter image description here

然而,var_dump显示“类型的资源(7)(SQL Server语句)”

我也尝试了一种不同的显示方法,并将其作为查询预期资源返回并被赋予NULL,那么为什么这个查询没有得到任何结果呢?

我的连接详细信息位于页面顶部的包含中,如下所示:http://pastebin.com/qz3tScdW

如果您还有其他需求,请询问。

基础问题,当我知道那里的数据时,为什么我的Query返回NULL?

php mysql sql sql-server
1个回答
4
投票

您实际上从未尝试过检索数据。 sqlsrv_query执行数据库查询,但它不获取数据。你需要使用sqlsrv_fetch_array(或sqlsrv_fetch_object):

$stmt = sqlsrv_query($conn, $showNoteInfo);

if (sqlsrv_has_rows($stmt)) {
    $data = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);
    var_dump($data['Note']);
} else {
    echo "No data found";
}
© www.soinside.com 2019 - 2024. All rights reserved.