Json使用PHP编码PostGre SQL查询结果

时间:2016-02-16 06:29:30

标签: php json postgresql

我编写了PHP代码,将查询结果转换为JSON。

但是在使用jSON编码时,我的结果只显示field values。生成的json文件中没有field name

我的代码:

$sql = 'select * from "'.$tablename.'"';
$myarray = array();
while ($row = pg_fetch_row($ret)) {
    $myarray[] = $row;
}   
$jsonData = json_encode(array('data' => $myarray));

结果:

{"data":[["Bob", "23", "New York"], ["Alice", "20", "Sidney"], ....]}

预期结果:

{"data":[
{"firstName":"Bob", "age":"23", "City":"New York"},
{"firstName":"Alice", "age":"20", "City":"Sidney"},...]}

1 个答案:

答案 0 :(得分:1)

只需使用pg_fetch_array()将类型传递为PGSQL_ASSOC即可。实施例

while ($row = pg_fetch_array($ret,PGSQL_ASSOC)) {
  // your code here
}

或只使用pg_fetch_all()。这将使用列名索引结果数组,并且不需要迭代结果集。实施例

$myarray = pg_fetch_all($ret);