我编写了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"},...]}
答案 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);