如何从数据库中通过php检索JSON的值?

时间:2016-11-05 09:11:42

标签: php json

我可以知道如何从数据库中检索json中的值仅数组而不是PHP中的整个json对象吗?

<?php
require_once('dbConnect.php');
$sql = "SELECT RestaurantName FROM Restaurant";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " .       mysqli_error($connection));
$restaurantArray = array();
while($rows = mysqli_fetch_assoc($result)) {
$restaurantArray[] = $rows;
}
echo json_encode($restaurantArray);
mysqli_close($connection);
?>

例如,

["Afonso Cláudio", "Água Doce do Norte"]

而不是

[{"city":"Afonso Cláudio"},{"city":"Água Doce do Norte"}]

2 个答案:

答案 0 :(得分:0)

你改变这一行怎么样:

$restaurantArray[] = $rows;

使用:

$restaurantArray[] = $rows['city']; // (or 'RestaurantName')

答案 1 :(得分:0)

当从数据库中获取数据为assoc时,您将获得一个关联数组(当转换为json时将成为json对象)作为结果。
您当前正在做的是将行(具有一个键值的关联数组)添加到结果数组中。如果想要城市,您可以轻松地从关联数组中获取该数据 改变

$restaurantArray[] = $rows;

$resturantArray[] = $rows['city'];

应该做的伎俩。

此外,如果您想重新格式化结果中的数据,而不只是将城市名称推送到该结果,则可以使用array_map来电:

$result = array_map(function($assocArr) { 
    return $assocArr['city']; // Or whatever you want the value to be.
}, 
$resturantArray);

echo json_encode($result);