我正在尝试从位于我的网络服务器上的数据库中获取数据。
我已将我的PHP文件get_data.php上传到网络服务器。
<?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 我得到了
{“result”:null}上次错误:未发生错误
我也尝试过验证JSON。
错误:第1行的解析错误:mrpcml.comli.com / g ^期待 'STRING','NUMBER','NULL','TRUE','FALSE','{','[',''undefined'
为什么我得到 null ?问题出在哪儿? 我不确定我的db主机。
答案 0 :(得分:0)
你的$ result变量是在while循环中声明的(在外面做)。另外,请确保将其初始化为数组。