현재 위치: > 최신 기사 목록> mysqli_result :: fetch_column 및 mysqli_fetch_array의 비교 및 ​​선택

mysqli_result :: fetch_column 및 mysqli_fetch_array의 비교 및 ​​선택

gitbox 2025-05-26

데이터베이스 작업에 PHP를 사용할 때 MySQLI 확장자는 쿼리 결과를 얻는 여러 가지 방법을 제공합니다. 그 중에서 MySQLI_RESULT :: FETCH_COLUMNMYSQLI_FCETH_ARRAY 는 일반적으로 사용되지만 다른 기능입니다. 효율적이고 관리하기 쉬운 코드를 작성하는 데 그들의 차이점과 적용 가능한 시나리오를 이해하는 것이 매우 중요합니다.


1. 기본 소개

  • mysqli_result :: fetch_column
    이것은 객체 지향 스타일 mysqli_result 클래스에 속하는 PHP 8.1 버전에 추가 된 새로운 방법입니다. 결과 세트에서 지정된 열의 값을 얻고 단일 필드의 데이터를 반환하는 데 사용됩니다.

  • mysqli_fetch_array
    이것은 현재 행의 모든 ​​필드 데이터를 반환하는 절차 지향 함수입니다. 매개 변수 설정에 따라 배열, 연관 배열, 숫자 인덱스 어레이 또는 둘 다를 반환합니다.


2. 자세한 차이

특성 mysqli_result :: fetch_column mysqli_fetch_array
반환 값 지정된 열의 단일 필드 값을 반환합니다 현재 행의 배열 (연관, 숫자 인덱스 또는 둘 다)을 반환합니다.
스타일을 사용하십시오 객체 지향 프로세스 지향
반환 유형 스칼라 값 (문자열, 숫자 등) 정렬
해당 시나리오 특정 데이터 열만 있으면 메모리가 저장됩니다 여러 열을 포함하여 전체 데이터 행이 필요합니다
PHP 버전 요구 사항 PHP 8.1 이상 이전 버전의 PHP를 지원합니다

3. 예제를 사용하십시오

mysqli_result :: fetch_column 예제

 <?php
$mysqli = new mysqli("gitbox.net", "user", "password", "database");
$result = $mysqli->query("SELECT id, name FROM users");

while ($id = $result->fetch_column(0)) {  // 첫 번째 열을 얻으십시오 id
    echo "사용자ID: $id\n";
}

$mysqli->close();
?>

mysqli_fetch_array 예제

 <?php
$mysqli = new mysqli("gitbox.net", "user", "password", "database");
$result = $mysqli->query("SELECT id, name FROM users");

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "사용자ID: " . $row['id'] . ", 사용자名: " . $row['name'] . "\n";
}

$mysqli->close();
?>

4. 더 적합한 기능을 선택하는 방법은 무엇입니까?

  • 쿼리 결과에서 하나의 열만 관심을 갖고 PHP 8.1 이상을 사용하는 경우 Fetch_Column은 보다 간결하고 효율적인 선택입니다.
    불필요한 배열 오버 헤드를 피하고 코드를보다 간결하게 만드는 지정된 열의 데이터를 직접 반환합니다.

  • 전체 행에서 여러 필드에 액세스해야하거나 프로젝트가 여전히 PHP 8.0 이하를 사용하는 경우 MySQLI_Fetch_Array를 사용하는 것이 더 적절합니다.
    더 많은 반환 유형을 지원하고 필드에 유연하게 액세스 할 수 있습니다.

  • 객체 지향 대 프로세스 지향 <br> 객체 지향 프로그래밍에 익숙한 경우 $ result-> fetch_column ()MySQLI_Result 의 기타 객체 지향 메소드를 사용하는 것이 좋습니다.
    그렇지 않으면 mysqli_fetch_array () 는 여전히 고전적이고 널리 사용되는 절차 기능입니다.


5. 요약

장면 권장 기능
단일 필드 만 가져 오기 (단일 열) mysqli_result :: fetch_column
여러 필드에 대한 전체 기록을 얻으십시오 mysqli_fetch_array 또는 $ result-> fetch_assoc ()
PHP 8.0 이하와 호환됩니다 mysqli_fetch_array

함수를 선택할 때는 비즈니스 요구 및 PHP 버전을 기반으로 결정을 내려야합니다. 이 둘의 차이를 이해하면보다 간결하고 효율적인 데이터베이스 액세스 코드를 작성하는 데 도움이 될 수 있습니다.