在MySQL中获取行并返回JSON

时间:2016-10-19 13:55:35

标签: php mysql json

我有以下SQL语句。 "SELECT * FROM table"

比我做:echo json_encode(mysqli_fetch_all($query));

这给了我一个像这样的json:

[
  [
    "32",
    "John",
    "12346",
    "email@gmail.com",
  ]
]

这很好,但它缺少字段名称。

我怎么能得到像这样的JSON:

[
  [
    "id" : "32",
    "name" : "John",
    "phone" : "12346",
    "email" : "email@gmail.com",
  ]
]

谢谢!

2 个答案:

答案 0 :(得分:1)

似乎你只得到数字indizes。尝试将数据作为关联数组提取:

echo json_encode(mysqli_fetch_all($query, MYSQLI_ASSOC));

另见the manual

答案 1 :(得分:0)

尝试echo json_encode(mysqli_fetch_all($query, MYSQLI_ASSOC));

Docu:http://php.net/manual/en/mysqli-result.fetch-assoc.php

PS:更复杂的是使用像http://propelorm.org这样的ORM助手......为您节省了很多麻烦,并有助于构建可维护的代码。