即使结果查询不为空,PHP JSON数组也为空

时间:2018-05-28 04:58:11

标签: php json

所以我在这里有这个PHP脚本。

<?php
require "conn.php";

$response = array();

$query = "SELECT * FROM groupe_académiques";
$result = $conn->query($query);
$number_of_rows = mysqli_num_rows($result);


while ($row = mysqli_fetch_array($result)) {

    array_push($response, array("ID"=>$row[0], "Nom"=>$row[1]));

}

echo json_encode($response);


?>

事情是,当我尝试它时,它给了我一个空的json数组,即使查询返回了一些行。 我在另一张桌子上使用相同的脚本并且它正在工作我真的不明白它没有错误,我该如何解决?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

使用print_r打印数据,因为您的数据不会以json格式重新生成

<?php
require "conn.php";
$response = array();
$query = "SELECT * FROM groupe_académiques";
$result = $conn->query($query);
$number_of_rows = mysqli_num_rows($result);

while ($row = mysqli_fetch_array($result)) {
    array_push($response, array("ID"=>$row[0], "Nom"=>$row[1]));
}
echo "<pre>";print_r($response);echo "</pre>";
?>

否则您的代码是正确的。

答案 1 :(得分:0)

Try Below Code       


    <?php

$sql="SELECT * FROM groupe_académiques";

$result = $conn->query($sql);

$myData=array(); // blank array
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
       array_push($myData,$row); // push rows to array $myData
    }
} 

echo json_encode($myData); //get json

?>