我在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"}]
答案 0 :(得分:2)
如果它只返回一行数据,那么您就不需要制作数组。
while($r = mysqli_fetch_array($sth, MYSQLI_ASSOC)) {
$rows = $r;
}
你得到的数据就像你创建对象的数组一样,但是因为你只得到一个结果( >正如您所说的),您可以简单地将其设置为变量。