如何从SQL Server检索数据?

时间:2016-12-01 22:41:34

标签: php mysql sql sql-server

当我知道那里有数据时,我想知道为什么我的查询返回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?

1 个答案:

答案 0 :(得分: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";
}