2016-04-17 1 views
0

私はJSONでいくつかの値をエンコードしようとしています。そのため、他のアプリケーション内でそれらを使用することもできますし、ウェブAPI を作成することもできます。 にアクセスしてください。 私は私のデータベースからデータをつかむために、このSQLの方法があります。配列を持つPHP json_encodeは、最初の要素のみを返しますか?

function getAllMessages() { 
    return getConnection()->query("SELECT * FROM allMessages ORDER BY programTimestamp DESC"); 
} 

を、私はJSONで取得したデータを変換するには、このメソッドを持っている:

while($row = getAllMessages()->fetch_assoc()) { 
     $json[] = $row; 
    } 
    echo json_encode($json); 

私もこの試みた:

echo json_encode(getAllMessages()->fetch_assoc()); 

と私はSQLクエリから返される最初の要素/値のみを取得します。

+0

は、私は何を見ていけませんか? – Mihai

+0

@ミハイグル、データベース内に他の値があります。それらはjson_encodeを使用していないときにウェブサイト自体に表示されます。 –

+0

whileループで、 'echo $ row [someColumn];'を実行すると、期待される結果が得られますか? – Mihai

答えて

1

このコード:

while($row = getAllMessages()->fetch_assoc()) { 

は無限ループを作る:そのあなたが何の結果またはブール値(偽)の結果を持っていない場合を除き、各反復で、あなたはgetAllMessages()を呼び出すと、最初の行をフェッチし、のでwhileは決して終わりません。このように

変更して:あなたはデシベル以上の1つの値を持っていることを確認wrong.Are

$rows = getAllMessages(); 
while($row = $rows->fetch_assoc()) 
{ 
    ... 
} 
関連する問題