Ich versuche, das Ergebnis einer MS SQL Server-Abfrage als ein JSON-Objekt zurückzugeben.Zurückgeben von JSON nach MS SQL Server-Abfrage
Die Abfrage ist korrekt, ich kann auch das Ergebnis mit echo $row ['name']
sehen, aber ich bekomme kein Ergebnis mit echo json_encode ($arr)
. Die Seite bleibt leer.
Dies ist mein Code:
$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();
sollten Sie Echo json_encode ($ arr) zu bewegen; Nach dem Header (...) und entfernen Sie die Zeile sterben (...) nicht sinnvoll. – Mimouni
Können Sie die Array-Ausgabe mit 'error_log (json_encode ($ arr));' kurz vor echo' protokollieren? – alalp
@alalp: Was auch immer ich versuche, wenn es keinen Fehler gibt, wie in diesem Fall, bekomme ich immer eine leere Seite. – user1170330