mysql查询拉行并将它们打印为json

时间:2014-01-16 19:24:45

标签: php mysql

我正在使用一些php来生成我的移动应用程序用于表视图的JSON。目前它正在运行,但它正在显示内容两次。

这是我正在使用的代码:

$result = mysqli_query($con, "SELECT `fName`, `lName`, `number`, `postcode`, `lat`, `long` FROM members WHERE `GroupID`='".$GroupID."'");
$members = array();

while($row = mysqli_fetch_array($result))
{
$members['members'][] = $row;
}

print json_encode($members);

我得到的结果如下:

 {
     "0":"First Name",
     "fName":"First Name",
     "1":"Last Name",
     "lName":"Last Name",
     "2":"Mobile Number",
     "number":"Mobile Number",
     "3":"PostCode",
     "postcode":"PostCode",
     "4":"Coord",
     "lat":"Coord",
     "5":"Coord2",
     "long":"Coord2"
  },

我很确定这一行导致了问题:

$members['members'][] = $row;

但我似乎无法让它发挥作用......

我目前正在使用此代码,但这意味着移动应用必须从服务器下载两倍的信息,因此它并不理想。

1 个答案:

答案 0 :(得分:2)

您需要使用mysqli_fetch_array($result, MYSQLI_ASSOC)mysqli_fetch_assoc($result),否则您将获得关联数字和数字索引数组。