我试图将MS SQL Server查询的结果作为JSON对象返回。MS SQL Server查询后返回JSON
该查询是正确的,我也可以看到结果echo $row ['name']
,但我没有得到任何结果echo json_encode ($arr)
。该页面保持空白。
这是我的代码:
$sql = "SELECT * FROM tab1";
$stmt = sqlsrv_query ($conn, $sql);
if ($stmt === false) {
die (print_r (sqlsrv_errors(), true));
}
$arr = array();
while ($row = sqlsrv_fetch_array ($stmt)) {
// echo $row ['name'] . "\n"; // <- this works
array_push ($arr, $row);
}
echo json_encode ($arr);
sqlsrv_free_stmt ($stmt);
sqlsrv_close ($conn);
header ("Content-type: application/json; charset=utf-8");
die (json_encode ($arr));
exit();
你应该将回声json_encode($ ARR);在标题(...)之后并删除行死(...)不是有用的。 – Mimouni
你能用'error_log(json_encode($ arr));''在'echo'之前记录数组输出吗? – alalp
@alalp:无论我尝试什么,如果没有错误,就像在这种情况下一样,我总是会得到一个空白页面。 – user1170330