2016-10-19 2 views
0

다음 SQL 문이 있습니다. "SELECT * FROM table"MySQL에서 행을 가져 와서 JSON을 반환하십시오.

나보다 : echo json_encode(mysqli_fetch_all($query)); 저에게이 같은 JSON 제공

:

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

이 모두 괜찮지 만, 그것은 필드 이름을 실종을.

어떻게이 같은 JSON을 얻을 수 :

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

감사합니다!

+0

은 새 값으로 json_encode() – devpro

+1

을 사용하는 것보다 키를 사용하여 값을 저장합니다. 두 번째 예는 잘못된 JSON입니다. 키를 가지고 있기 때문에 JSON 배열이 아니라 JSON 객체 –

+0

이므로 UML 코드가 표시되지 않으므로 내부 쿼어 대괄호 []는 중괄호'{}'이어야합니다. –

답변

1

숫자로만 표시됩니다. 연관 배열로 데이터를 가져 오는 시도 :

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

시도도 the manual

+0

사실 그의 덤프가 맞다면 전혀 색인을 얻지 못합니다. – RiggsFolly

+1

* indizes를 가질 수 없습니다. 그러나 숫자로 된 것만 있으면 json_encode가 자동으로 JSON_array로 취급합니다. –

+0

글쎄, 내가 말했을 텐데요. 따라서 OP가 결과 JSON String의 올바른 인쇄물을 생성 할 수 없다고 가정합니다. – RiggsFolly

관련 문제