奇怪的JSON密钥?

时间:2018-02-12 00:49:50

标签: php mysql json

我要告诉你,在谈到JSON或类似的事情时,我并不是专家。我在我的项目中使用了几次,但最近我使用它很多。

无论如何,我正在创建一个向我的网站发送HTTP帖子请求的Android应用。 PHP文件从数据库中检索数据并将数组转换为JSON。通常,我会发送一些数据和POST请求。但是因为我只是练习,我只是将从数据库收到的所有用户都显示给JSON。

但是,它会返回一些我不太想要的奇怪键。例如:

[
  {
    0: "1",
    1: "User1",
    2: "userPassword1",
    id: "1",
    username: "User1",
    password: "userPassword1"
  },
  {
    0: "2",
    1: "user2",
    2: "userPassword2",
    id: "2",
    username: "user2",
    password: "userPassword2"
  }
]

它显示0,1,2,然后显示字段名称。我只想要字段名称。

我的PHP文件:

<?php
require 'connection.php';

$rArray = array();

$query = $con->query("SELECT * FROM users");

while ($row = $query->fetch_array()) {
    $rArray[] = $row;
}

echo json_encode($rArray);
?>

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您是否尝试过fetch_assoc

这样的事情:

<?php
require 'connection.php';

$rArray = array();

$query = $con->query("SELECT * FROM users");

while ($row = $query->fetch_assoc()) {
    $rArray[] = $row;
}

echo json_encode($rArray);
?>

有关fetch_assocfetch_array的更多教训,请参阅this thread

答案 1 :(得分:0)

修正:

$query->fetch_assoc()