2017-04-13 4 views
0

Ich versuche, Daten aus meiner Datenbank, die auf meinem Webserver befindet.JSON gibt null Ergebnis

Ich habe meine PHP-Datei get_data.php auf den Webserver hochgeladen.

<?php 
define('HOST','localhost.000webhostapp.com'); 
define('USER','id1206871_myuser'); 
define('PASS','******'); 
define('DB','id1206871_mydb'); 
    $con = mysqli_connect(HOST,USER,PASS,DB); 

    $sql = "select * from person"; 

    $res = mysqli_query($con,$sql); 
while($row = mysqli_fetch_array($res)){ 
    array_push($result, 
    array('id'=>$row[0], 
    'name'=>$row[1], 
    'address'=>$row[2] 
)); 
} 
$json_errors = array(
    JSON_ERROR_NONE => 'No error has occurred', 
    JSON_ERROR_DEPTH => 'The maximum stack depth has been exceeded', 
    JSON_ERROR_CTRL_CHAR => 'Control character error, possibly incorrectly encoded', 
    JSON_ERROR_SYNTAX => 'Syntax error', 
); 

echo json_encode(array("result"=>$result)); 

echo 'Last error : ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL; 
mysqli_close($con); 

?> 

Wenn ich versuche, diese URL https://mrpcml.000webhostapp.com/get_data.php ich

{"result":null}Last error : No error has occurred

Ich habe auch versucht, JSON zu validieren.

Error: Parse error on line 1: mrpcml.comli.com/g^Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'

Warum erhalte ich diese null? Wo ist das Problem? Ich bin mir nicht sicher über meinen DB-Host.

+0

var_dump() & echo sind deine Freunde..mein Freund !! – JRR

Antwort

0

Ihre $ result-Variable wurde innerhalb der while-Schleife deklariert (tun Sie es draußen). Plus stellen Sie sicher, dass Sie es als ein Array initialisieren werden.

+0

ich bin neu auf PHP .. ich weiß nicht, ob ich getan habe, was Sie sagten .. ich änderte den Code zu sein .. $ result = array(); $ res = mysqli_query ($ con, $ sql); while ($ row = mysqli_fetch_array ($ res)) das Ergebnis ist: {"result": []} –

+0

um Dinge in das PHP-Array innerhalb der Schleife zu schieben, benötigen Sie etwa folgendes: $ result [] = $ Zeile; –