当我知道那里有数据时,我想知道为什么我的查询返回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,文本应该是这样的
但是var_dump
显示" 资源(7)类型(SQL Server语句)"
我还尝试了一种不同的显示方法,并将其作为查询预期资源返回并被赋予NULL,那么为什么此查询没有得到任何结果?
我的连接详情位于页面顶部的包含中,如下所示:http://pastebin.com/qz3tScdW
如果您还有其他需求,请询问。
基础问题,当我知道那里的数据时,为什么我的Query会返回NULL?
答案 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";
}