2016-09-19 11 views
-1

を理解することができ、以前に私はこれは私がうまく働いたAPIにデータを送信するために使用されるコードです。//JSONエンコード、そのAPIは

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 

$data[] = $row; 
} 
$json = array("status"=>"success","msg"=>"DisplaySuccessfully","data"=>$data); 
} 

を使用してきました。

しかし、今私は、APIの関数が衝突しないように列名を変更する必要があります。 2つのAPIで同じテーブルが使用されているためです。 apiがcolumn_nameとcolumn_dataを区別できないようにカラム名を変更する必要があります。 は//私は以下のコードを試みたが、APIは、COLUMN_NAMEとデータ

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
foreach ($row as $key => $val) 
    { 
     $data[] = $key.'1:'.$val; 
    } 

} 
$json = array("status"=>"success","msg"=>"Display Successfully","data"=>$data); 
} 

を区別することができ、すべてのmysql_fetch_arrayの第一は、非推奨となり、使用する安全ではない...

+0

ようforeachを変更する必要がありますだけの値を取得するには、これが何をしたいのですか? –

答えて

0

、ありがとうございました。 PDOまたはmysqliにアップグレードする必要があります。

最初の例では、最初の例では$dataに各行のエントリがありますが、2番目のエントリには各行の値ごとにエントリがあるため、この2つの結果は同じではありません。だから、第二の例を変更すると、あなたは何をやっていることがちょうど列の値ではなく、列名を変更している。この

$data_row = []; //first init the data for one row 
foreach ($row as $key => $val) { 
    $data_row[] = $val; // Add the value to the $data_row 
} 
$data[] = $data_row; //Add the row with values to the $data.