我試圖將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