使用PHP为MySQL数据库中的单行数据获取JSONObject而不是JSONArray

时间:2015-05-25 02:05:14

标签: php json

我在Android应用中执行了一些查询。每个只返回一行数据,所以我想将输出视为JSONObjects而不是JSONArrays,因为它们只是内部有单个对象的数组;在我看来,这是毫无意义的。

截至目前,我的PHP看起来像这样:

$_SESSION['cart'][] = array('item' => 'itemName', 'price' => 'itemPrice');

foreach ($_SESSION['cart'] as $array) {
    echo "<tr><td>" . $array['item'] . "</td><td>" . $array['price] . "</td><td><a href="#">Remove?</a></td></tr>";
}

,输出如下:

$query = "SELECT moveCount FROM Chessmates.Board_States WHERE Games_GameID = 2;";
$sth = mysqli_query($con, $query);




if(mysqli_errno()) {
    echo "error";
} else {
    $rows = array();
    while($r = mysqli_fetch_array($sth, MYSQLI_ASSOC)) {
        $rows[] = $r;
        //var_dump($r);
    }


    echo json_encode($rows);
}

我希望它看起来像这样:

[{"moveCount":"0"}]

1 个答案:

答案 0 :(得分:2)

如果它只返回一行数据,那么您就不需要制作数组。

while($r = mysqli_fetch_array($sth, MYSQLI_ASSOC)) {
    $rows = $r;
}

你得到的数据就像你创建对象数组一样,但是因为你只得到一个结果( >正如您所说的),您可以简单地将其设置为变量。