我想创建一个基于mysql数据的json文件,但由于某些原因,我的代码根本无法工作(我没有任何错误)
$results= $panel->query('SELECT * FROM servers ORDER BY id ASC;')->fetch_all();
$data = array();
foreach ($results as $row) {
$data[] = $row;
}
$json_string = json_encode($data);
$file = 'servers.json';
file_put_contents($file, $json_string);
我想要的是:
{
"ID": [
"IPOFTHESERVERFROMDATABASE",
PORTFROMDATABASE,
"NAMEFROMDATABASE"
],
..
}
我得到的是:
[["ID","NAME","IP","PORT","RCON"]]
1条答案
按热度按时间hl0ma9xz1#
你没有把任何东西放进
$data
数组。按如下所示更改代码以将行加载到
$data
前面的数组json_encode()
把它弄得乱七八糟或者就像雷在下面说的,你用了
fetchAll
你可以不用foreach循环编辑:你想要的输出?
你说你想要
当然这是不可能的,因为您有两个同名的键/属性,即。
"ID"
```$results= $panel->query('SELECT * FROM servers ORDER BY id ASC;')->fetch_all();
$data = array();
foreach ($results as $row) {
$data[$row[0]] = [$row[2],$row[3],$row[1]];
}
$json_string = json_encode($data);
$file = 'servers.json';
file_put_contents($file, $json_string);