현재 위치: > 최신 기사 목록> json_encode ()를 사용하여 mysqli_result를 JSON 형식으로 변환하십시오

json_encode ()를 사용하여 mysqli_result를 JSON 형식으로 변환하십시오

M66 2025-05-28

PHP에서는 여러 번 데이터베이스에서 데이터를 가져 와서 프론트 엔드에 API 인터페이스를 제공하는 등 JSON 형식으로 반환해야합니다. 이렇게하려면 MySQLI Extension을 사용하여 쿼리를 실행 한 다음 json_encode () 함수를 사용하여 결과 배열을 JSON 문자열로 인코딩 할 수 있습니다.

이 기사는이 프로세스를 단계별로 구현하는 방법을 설명합니다.

1. 데이터베이스 연결을 설정하십시오

먼저 데이터베이스에 대한 연결을 만들려면 MySQLI를 사용해야합니다.

 $servername = "localhost";
$username = "db_user";
$password = "db_password";
$database = "db_name";

$conn = new mysqli($servername, $username, $password, $database);

// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}

2. 쿼리를 실행하십시오

모든 사용자 데이터를 얻기위한 예제로 사용자 라는 이름의 테이블을 쿼리하겠습니다.

 $sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);

여기 $ result는 쿼리 결과를 포함하는 mysqli_result 객체입니다.

3. 쿼리 결과를 배열로 변환하십시오

json_encode ()mysqli_result 객체를 직접 인코딩 할 수 없으므로 먼저 배열로 변환해야합니다.

 $data = array();

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

여기서 우리는 fetch_assoc () 메소드를 사용하여 각 데이터 행을 연관 배열로 꺼내 $ 데이터 배열에 추가합니다.

4. json_encode ()를 사용하여 JSON으로 변환하십시오

이제 모든 쿼리 결과가 포함 된 배열 $ 데이터가 있으므로 JSON_ENCODE ()를 사용하여 JSON 형식으로 변환 할 수 있습니다.

 $jsonResult = json_encode($data);

// 산출 JSON 데이터
header('Content-Type: application/json');
echo $jsonResult;

여기서도 컨텐츠 유형 헤더를 Application/JSON 으로 설정하여 클라이언트에게 JSON 형식이 반환되었다고 알려줍니다.

5. 샘플 코드를 완료하십시오

위의 단계를 결합하여 전체 코드는 다음과 같습니다.

 <?php
$servername = "localhost";
$username = "db_user";
$password = "db_password";
$database = "db_name";

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}

$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);

$data = array();

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

$conn->close();

header('Content-Type: application/json');
echo json_encode($data);
?>

  • 데이터베이스 연결 정보 (예 : 사용자 이름, 비밀번호, 데이터베이스 이름)가 올바른지 확인하십시오.

  • 실제 프로젝트에서 보안 및 성능을 위해 SQL을 직접 스 플라이 싱하는 대신 준비된 명령문을 사용하는 것이 좋습니다.

  • 인터페이스를 테스트하려면 브라우저로 인터페이스에 액세스 할 수 있습니다.
    https://m66.net/api/get_users.php

이런 식으로 브라우저 또는 프론트 엔드 코드에서 JSON 사용자 데이터를 직접 얻을 수 있습니다.