오늘도 삽질중

[PHP] PHP JSONArray 변환 본문

서버

[PHP] PHP JSONArray 변환

Choi3950 2018. 7. 4. 04:39
반응형

안드로이드에서 PHP로 통신을 하면서 데이터를 JSONArray로 받고싶은 경우가 생기게 됩니다.


이런경우에 PHP에서 JSONArray로 변환해주는 작업을 진행하면 됩니다.


제가 여러 블로그를 보니까 드문드문 올리게 되면 모르시는 분들도 있는거 같아서 간단하게 풀소스를 공개하고 주석으로 설명을 대체하겠습니다.


그전에 기본적인 안드로이드 <-> 서버(PHP) 통신방법과 PHP문법은 아셔야 합니다.

자료가 많으니 잘 찾아보세요~


<?php


$conn = mysqli_connect('당신의 서버 IP','DB계정','DB계정비밀번호') or die('DB접속 실패');  

// $conn이라는 변수에 DB접근정보가 담겨야합니다. mysqli_connect() 안에는 말그대로 서버IP,계정,계정비밀번호를 적어주셔야합니다.

// ex) mysqli_connect('127.0.0.1','DBUser','DBUser')


mysqli_select_db($conn,'접근해야하는 DB이름');

// 접근해야하는 DB이름을 적어주세요 TestDB를 만들었다면 

// ex) mysqli_select_db($conn,'testDB');


$SQL = "SELECT * FROM list";

//데이터베이스에 보낼 쿼리문을 작성합니다.


$result = mysqli_query($conn,$SQL);

//쿼리를 실행하고 해당하는 값을 $result에 넣는다.


$result_array = array();

//JSONArray로 만들 변수선언


if($result->num_rows==0){       

// $result->num_rows 는 $result 변수에 몇개의 데이터가 있는지를 알수 있습니다. 연관배열 이라는 키워드로 검색해보세요~

  die("데이터가 하나도 없네요.");

}

else{  //데이터가 존재할경우 JSONArray생성

  while($row = mysqli_fetch_assoc($result)){  


    $result_array[] = $row;  //배열에 모든데이터를 담습니다.

    

  }

  $result_array = json_encode($result_array,JSON_UNESCAPED_UNICODE); 

  //저의 경우에는 JSON으로 만들때 한글이 깨지는 현상이 발생되었습니다. 그래서 JSON_UNESCAPED_UNICODE 를 추가해 주었습니다.

  //PHP 5.4 버전이상은 JSON으로 만들때 인코딩 작업을 표시해 줘야합니다.(한글깨짐방지)


  print($result_array); //JSONArray 출력



}


mysqli_close($conn);


 ?>



출처 : http://blog.naver.com/mythfeal/130101758036

반응형

'서버' 카테고리의 다른 글

Nginx phpMyAdmin FastCGI sent in stderr: Access to the script  (0) 2018.06.14
Comments