2017-04-13 7 views
0

내 웹 서버에있는 데이터베이스에서 데이터를 가져 오려고합니다.JSON 결과가 null입니다.

PHP 파일 get_data.php를 웹 서버에 업로드했습니다. 나는이 URL을하려고하면

<?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); 

?> 

https://mrpcml.000webhostapp.com/get_data.php 나는 나는 또한 JSON을 검증하기 위해 노력했습니다

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

를 얻을.

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

이유는이 는 무엇입니까? 문제가 어디에 있습니까? DB 호스트에 대해 잘 모르겠습니다.

+0

var_dump() & echo는 내 친구 야. 내 친구 야 !! – JRR

답변

0

$ 결과 변수가 while 루프 내부에서 선언되었습니다 (외부에서 수행). 또한 배열로 초기화하는지 확인하십시오.

+0

나는 php에서 새로운 사람이다. 내가 말한대로했는지 모르겠다. 코드를 다음과 같이 변경했다. $ result = array(); $ res = mysqli_query ($ con, $ sql); while ($ row = mysqli_fetch_array ($ res)) 결과는 다음과 같습니다 : { "result": []} –

+0

루프 안의 PHP 배열에 물건을 넣으려면 다음과 같은 것이 필요합니다 : $ result [] = $ row; –

관련 문제