먼저 PHP에서 MYSQL로 연결을 해야 된다. MYSQL에 접근해기 위해서는 호스트 정보와 DB 아이디, 비밀번호, DB 이름이 필요하다. 보안상 이건 떨어트려 놓는것이 좋으므로 다른 파일에서 설정해 놓는다.
1 2 3 4 5 6 7 | <!--config.php--> <?php $DB['HOST'] = '127.0.0.1'; $DB['id'] = '****'; $DB['pw'] = '****'; $DB['db'] = 'kostdb'; ?> | cs |
다음은 MYSQL과의 연결을 해야 한다. 이것도 다음에 다시 활용하기 위해 따로 파일을 만든다.
1 2 3 4 5 | <!--preset.php--> <?php require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); $mysqli = new mysqli($DB['HOST'],$DB['id'],$DB['pw'],$DB['db']); ?> | cs |
다음으로는 이제 데이터를 읽는 역할을 할 PHP를 작성하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <!--data.php--> <?php require_once($_SERVER['DOCUMENT_ROOT'].'/preset.php'); // 테이블의 모든 정보를 읽어온다. $query = 'SELECT * FROM bbs'; // 쿼리를 실행하고 그 결과값을 $result변수에 넣는다. $result = $mysqli->query($query); $total_record = $result->num_rows; $result_array = array(); for ( $i = 0; $i < $total_record; $i++ ) { // 한행씩 읽기 위해 offset을 준다. $result->data_seek($i); // 결과값을 배열로 바꾼다. $row = $result->fetch_array(); // 결과값들을 JSON형식으로 넣기 위해 연관배열로 넣는다. $row_array = array( "doc_idx" => $row['doc_idx'], "member_idx" => $row['member_idx'], "subject" => $row['subject'], "content" => $row['content'], "reg_date" => $row['reg_date'] ); // 한 행을 results에 넣을 배열의 끝에 추가한다. array_push($result_array,$row_array); } // 위에서 얻은 결과를 다시 JSON형식으로 넣는다. $arr = array( "status" => "OK", "num_result" => "$total_record", "results" => $result_array ); // 만든건 그냥 배열이므로 JSON형식으로 인코딩을 한다. $json_array = json_encode($arr); // 인코딩한 JSON배열을 출력한다. print_r($json_array); ?> | cs |
결과
{"status":"OK","num_result":"3","results":[{"doc_idx":"30","member_idx":"1","subject":"Hello!","content":"I'm Kostrian!","reg_date":"1417346793"},{"doc_idx":"41","member_idx":"1","subject":"HOhoho","content":"Hahaha","reg_date":"1417331690"},{"doc_idx":"1","member_idx":"1","subject":"aa","content":"aa","reg_date":"1234"}]}