-1

サーバーからデータをフェッチする 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);
   ?>       

しかし、私の出力はフォーマットされています

"VM ARORA""Dr. CP REDDY""ARTI CHOWDHARY""JAGDISH SINGH" *pgsql_fetch_assoc* で implode 関数を使用すると、"," (coma's) が来ません。

助けてください

4

3 に答える 3

3

私はあなたが間違った方法でそれをしていると思います。以下のようにしてみてください。

while ($row = pg_fetch_assoc($result)) {
  $rows[] = $row; 
}
echo json_encode($rows); 
于 2013-04-29T12:02:53.543 に答える
1

これを試して;

while ($row = pg_fetch_assoc($result)) {
    echo json_encode($row); 
}
于 2013-04-29T12:02:20.003 に答える
0

内破する必要はありません$row。while ループを以下のコードに置き換えてみてください

while ($row = pg_fetch_assoc($result)) {
     echo json_encode($row); 
}
于 2013-04-29T12:02:30.423 に答える