JSON数组总是空的

时间:2014-09-22 21:41:03

标签: php json

我从PHP返回一个JSON数组,这总是空的。 有什么东西显而易见吗?

<?php
    require("config.inc.php");
    $return_arr = array();

    $fetch = mysql_query("SELECT startingBool, endingBool FROM vote_count");

    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
        $row_array['startingBool'] = $row['startingBool'];
        $row_array['endingBool'] = $row['endingBool'];
        array_push($return_arr,$row_array);
    }

    echo json_encode($return_arr);

?>

3 个答案:

答案 0 :(得分:3)

我在$row_array中看到绝对没有意义,在你弄乱json之前,检查你的转储:

<?php
require("config.inc.php");

$fetch = mysql_query("SELECT startingBool, endingBool FROM vote_count");

$return_arr = array();
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)){
    $return_arr[] = $row; 
}
var_dump($return_arr);
//echo json_encode($return_arr);
?>

答案 1 :(得分:0)

由于您说使用phpmyadmin,您可以看到vote_count表中包含数据。 问题可能出在您的config.inc.php(或者您设置数据库连接的地方)

检查它是否指向与您通过phpmyadmin查看的数据库或服务器不同的数据库或服务器。

答案 2 :(得分:0)

看起来脚本正在使用PDO,所以它会是这样的:     

$query = $db->query("SELECT startingBool, endingBool FROM vote_count");

$return_arr = array();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
    $return_arr[] = $row; 
}
echo json_encode($return_arr);
?>