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


Fetch JSONObject instead of JSONArray for single row of data in MySQL Database using PHP

我有几个查询,我在我的Android应用程序中执行。每个只会返回一行数据,所以我想把输出作为JSONObjects而不是JSONArrays,因为它们只是数组与单个对象在里面;在我看来有点无意义。

现在我的PHP是这样的:

$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"}]

我希望它看起来像这样:

{"moveCount":"0"}

如果它只返回一行数据,那么就不需要创建数组。

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

你得到你所做的数据,因为你正在创建一个对象的数组,但是因为你只会得到一个结果(,正如你所说的),你可以简单地把它设置为一个变量。