2017-02-03 13 views
1

MySQLデータベースからJSON配列を取得しようとしています。行をフェッチして配列に追加するコードの部分を次に示します。PHP - MySQLから複数の行を取得し、JSONでエンコードする

<?php 
if($rowcount > 0) { 
    while($row = mysqli_fetch_row($fetch)) { 
     $row_array["uid"] = $row['unique_id']; 
     $row_array["users"]["name"] = $row['name']; 
     $row_array["users"]["email"] = $row['email']; 
     array_push($users, $row_array); 
    } 
    mysqli_free_result($fetch); 
    echo json_encode($users); 
} 
?> 

この部分はエラーを引き起こしています。次のメッセージが表示されます。


注意:不定度:ライン上 /storage/h3/859/644859/public_html/searchfriends.phpにUNIQUE_ID

注意:不定インデックス: /storage/h3/859/644859/public_html/searchfriends.php on line各行が表すライン上 /storage/h3/859/644859/public_html/searchfriends.phpにおけるメール



注意:不定インデックス次の部分。

$row_array["uid"] = $row['unique_id']; 
$row_array["users"]["name"] = $row['name']; 
$row_array["users"]["email"] = $row['email']; 

だから、私は私がきちんと配列をフォーマットしていないと信じています。どのように私はそれを修正する必要がありますか?マニュアルに基づいて

+0

表情 - ベストは以下のように、この単一の行を変更する必要があります

$row[0],$row[1].... so on

OR

"unique_id"と呼ばれるファイルがありますか? –

+0

はい、db 'に問題はありません –

+0

私はテーブルをチェックアウトしたばかりで、カラム名は正常です。文字通り 'unique_id'、' name'、 'email'です。しかし、注文は少し異なります。 –

答えて

2

: - http://php.net/manual/en/mysqli-result.fetch-row.php

それはあなたの数値インデックスの配列を与えます。だから、以下のようにしなければならない: - :で

while($row = mysqli_fetch_assoc($fetch)) { 
// instead of mysqli_fetch_row use mysqli_fetch_assoc 
+0

マーシャルS.リーあなたを助けてうれしい –

1
<?php 
if($rowcount > 0){ 
    while($row = mysqli_fetch_row($fetch)) { 
echo "<pre>"; 
print_r($fetch); // check here you have columns of email ,name etc.. or not 
die; 
     $row_array["uid"] = $row['unique_id']; 
     $row_array["users"]["name"] = $row['name']; 
     $row_array["users"]["email"] = $row['email']; 
     array_push($users, $row_array); 
    } 
    mysqli_free_result($fetch); 
    echo json_encode($users); 
} 
?> 
関連する問題