728x90
이번 포스팅에서는 서버-클라이언트간 통신을 할 때, 서버가 db의 데이터를 json 객체로 응답을 보내는 방법을 알아보겠습니다.
DB의 users 테이블입니다. 이 테이블의 데이터를 json객체로 만들어 응답을 보내는 코드를 작성해보겠습니다.
DB에 접속하여 데이터를 가져오고, 이를 array형태로 담은 뒤, json으로 인코딩하여 응답을 보내는 코드를 구현합니다.
<?php
// DB 관련 정보
$host = "123.123.123.123"; // 서버 주소
$username = "admin"; // DB 사용자 이름
$password = "password"; // DB 비밀번호
$dbname = "test_db"; // DB 이름
header('Content-Type: application/json; charset=UTF-8'); // JSON 형태로 데이터 출력
$conn = mysqli_connect($host, $username, $password, $dbname); // DB 연결
if (!($conn)) {
echo "db 연결 실패: " . mysqli_connect_error();
}
$sql = "Select * from users;";
$result = mysqli_query($conn, $sql);
$output = array(); // 응답값으로 보낼 값
if (mysqli_num_rows($result) > 0) { // 쿼리 결과로 1행 이상 존재한다면
while ($row = mysqli_fetch_assoc($result)) { // 행별로 유저의 정보 output에 넣어주기
array_push($output,
array('name' => $row['name'],
'image' => $row['image'],
'age' => $row['age'],
'sex' => $row['sex']
)
);
}
} else { // 쿼리 결과가 없다면 메시지 보내주기
$output = array('message' => '쿼리 결과 없음');
}
echo json_encode($output); // array를 json형태로 변환하여 출력
이렇게 코드를 작성하고 해당 파일이 있는 url로 요청을 하면 다음과 같이 json객체로 응답값이 오는 것을 확인할 수 있습니다.
포스팅에서 사용된 코드는 아래 스틱코드를 통해 확인할 수 있습니다.
json 객체를 클라이언트에 응답으로 보내기 - Stickode
'PHP' 카테고리의 다른 글
[PHP] 로그인시 유효성 검사 하기 (0) | 2021.10.08 |
---|---|
[PHP] ncloudSens API 사용하여 문자 발송 하기 (0) | 2021.09.12 |
[PHP] JWT 구현하기 (2) | 2021.07.24 |
[PHP] 웹 프로필 이미지 업로드 (0) | 2021.05.17 |
[PHP] 썸네일 처리 빠르게 구현하기 (0) | 2021.05.16 |