在php中以json格式更改从服务器获取的数据

时间:2013-04-29 12:00:29

标签: php json parsing

我在php中有一个从服务器获取数据的脚本,但我想用json格式对其进行编码。

 <?php
 // attempt a connection
 $dbh = pg_connect("host=10.22.35.11 dbname=iwmp_dev2 user=postgres "); 

 if (!$dbh) {
   die("Error in connection: " . pg_last_error());
      }       

   // execute query
  //$sql = $_POST['pLat'];
  $sql = "SELECT officer_name FROM iwmp_officer";

  $result = pg_query($dbh, $sql);
 if (!$result) {
 die("Error in SQL query: " . pg_last_error());
  }       
 $array = array();
 while ($row = pg_fetch_assoc($result)) {
      $i++;
     $comm = implode(",",$row);
    echo json_encode($comm); 
   }

  // free memory
  pg_free_result($result);       

   // close connection
   pg_close($dbh);
   ?>       

但我的输出格式是

  

“M. ARORA”“C. P. REDDY博士”“ARTI CHOWDHARY”“JAGDISH SINGH”   当在* pgsql_fetch_assoc *上使用implode func时,没有“,”(昏迷)即将到来。

请帮助

3 个答案:

答案 0 :(得分:3)

我认为你的做法是错误的。尝试如下所示。

while ($row = pg_fetch_assoc($result)) {
  $rows[] = $row; 
}
echo json_encode($rows); 

答案 1 :(得分:1)

试试这个;

while ($row = pg_fetch_assoc($result)) {
    echo json_encode($row); 
}

答案 2 :(得分:0)

您无需破坏$row。尝试使用以下代码替换while循环

while ($row = pg_fetch_assoc($result)) {
     echo json_encode($row); 
}