> 백엔드 개발 > PHP 튜토리얼 > `json_encode()`를 사용하여 PHP에서 MySQL 쿼리 결과를 JSON으로 효율적으로 인코딩하려면 어떻게 해야 합니까?

`json_encode()`를 사용하여 PHP에서 MySQL 쿼리 결과를 JSON으로 효율적으로 인코딩하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-18 08:21:11
원래의
851명이 탐색했습니다.

How Can I Efficiently Encode MySQL Query Results as JSON in PHP Using `json_encode()`?

json_encode()를 사용하여 MySQL 결과를 JSON으로 인코딩

json_encode()는 데이터를 JSON 형식으로 변환하는 PHP의 편리한 함수입니다. MySQL 쿼리 결과의 경우 이 함수를 사용하는 다양한 접근 방식이 있습니다.

각 행을 수동으로 반복해야 합니까, 아니면 전체 결과 객체에 json_encode()를 적용할 수 있습니까?

반복 사용

이전 PHP 버전의 경우 가장 간단한 방법은 while을 사용하여 결과 집합의 각 행을 반복하는 것입니다. 루프. 예는 다음과 같습니다.

<?php
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();

while ($r = mysqli_fetch_assoc($sth)) {
  $rows[] = $r;
}

print json_encode($rows);
?>
로그인 후 복사

json_encode()는 연관 배열(키-값 쌍)을 기대하므로 mysqli_fetch_assoc()는 행을 연관 배열로 가져옵니다.

mysqli_fetch_all 사용 () (현대의 접근 방식)

최신 PHP 버전에는 모든 행을 한 번에 가져올 수 있는 mysqli_fetch_all() 함수가 내장되어 있습니다. 이는 인코딩 프로세스를 단순화합니다.

<?php
$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows

// Or, for associative arrays:
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);

print json_encode($rows);
?>
로그인 후 복사

추가 참고 사항

  • json_encode()에는 PHP 버전 5.2 이상이 필요합니다.
  • php -json 패키지도 필요합니다.
  • 문제가 발생하면 PHP 구성에서 JSON 지원을 활성화했는지 확인하세요.

위 내용은 `json_encode()`를 사용하여 PHP에서 MySQL 쿼리 결과를 JSON으로 효율적으로 인코딩하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿