以JSON格式显示两个MySQL列的键和值。

问题描述 投票:0回答:1

我想把这个MySQL表的数据以JSON对象的格式显示出来,用 钥匙 列为 钥匙价值 列为 价值.mysql table data

如何在PHP中用PDO来做这件事?

我试过这样做。

$info_arr = array();

while ($row = $result->fetch(PDO::FETCH_ASSOC))
    $info_arr[] = $row;
echo json_encode($info_arr);

但是这个结果是这样的

[
{
    "_key": "app_name",
    "_value": "Mathology"
},
{
    "_key": "app_package",
    "_value": "com.shovon.mathology"
},
{
    "_key": "app_version",
    "_value": "1.0"
},
{
    "_key": "app_icon",
    "_value": "com.shovon.mathology"
}
]

但我想得到的结果是这样的,我想把MySQL表的数据以JSON对象的形式显示出来,_key列为key,_value列为value。

[
 {
     "app_name": "Mathology",
     "app_package": "com.shovon.mathology",
     "app_version": "1.0",
     "app_icon": "com.shovon.mathology"
 }
]
php mysql json pdo
1个回答
1
投票
echo json_encode($result->fetchAll(\PDO::FETCH_KEY_PAIR));

输出。

{
    "app_name": "Mathology",
    "app_package": "com.shovon.mathology",
    "app_version": "1.0",
    "app_icon": "com.shovon.mathology"
}

我不知道为什么你要把一个对象放在一个JSON数组中。我的解决方案只输出对象。如果你想把它包在一个数组中,那么只要把它放在 [] 前送 json_encode()

echo json_encode([$result->fetchAll(\PDO::FETCH_KEY_PAIR)]);
© www.soinside.com 2019 - 2024. All rights reserved.