2016-10-19 2 views
0

次のSQL文があります。私よりも"SELECT * FROM table"MySQLで行を取得してJSONを返します

:私は、このようなJSONを与えecho json_encode(mysqli_fetch_all($query));

[ 
    [ 
    "32", 
    "John", 
    "12346", 
    "[email protected]", 
    ] 
] 

これは、すべての罰金ですが、それは、フィールド名が欠落しています。

[ 
    [ 
    "id" : "32", 
    "name" : "John", 
    "phone" : "12346", 
    "email" : "[email protected]", 
    ] 
] 

ありがとう:私はこのようなJSONを得ることができる方法

+0

は、値が新しい配列に格納されています.json_encode() – devpro

+1

をサイドノートに使用しています.2番目の例は無効なJSONです。キーではJSON配列ではなくJSONオブジェクト –

+0

なので、内部のquareかっこ '[]'は中括弧 '{}'でなければなりません。 –

答えて

1

数字のindizesし​​か得られないようです。連想配列としてあなたのデータをフェッチしてみてください:

echo json_encode(mysqli_fetch_all($query, MYSQLI_ASSOC)); 

がしようもthe manual

+0

実際に彼のダンプが正しい場合、彼は指数を全く得ていません – RiggsFolly

+1

あなたは* indizesを持つことはできません。 JSON_Arrayは自動的にJSON_arrayとして扱います。 –

+0

私が言っていたことは、OPが正しいJSON文字列の正しいプリントを生成できないと仮定しているからです。 – RiggsFolly

関連する問題