mysqli_result::fetch_fields

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_fields -- mysqli_fetch_fields — 결과 집합의 필드를 나타내는 객체 배열을 반환합니다.


설명

객체 지향 스타일

public mysqli_result::fetch_fields(): array

절차적 스타일

mysqli_fetch_fields(mysqli_result $result): array

이 함수는 각 필드에 대해 한 번에 하나의 객체를 반환하는 대신 열이 객체의 배열로 반환된다는 단일 차이점을 제외하고 mysqli_fetch_field() 함수와 동일한 목적을 제공합니다.


매개변수

result
절차적 스타일 전용: mysqli_query(), mysqli_store_result(), mysqli_use_result() 또는 mysqli_stmt_get_result()에 의해 반환된 mysqli_result 객체.

반환 값

필드 정의 정보를 포함하는 객체의 배열을 반환합니다.

개체 속성

Attribute 설명
name 열의 이름
orgname 별칭이 지정된 경우 원래 열 이름
table 이 필드가 속한 테이블의 이름(계산되지 않은 경우)
orgtable 별칭이 지정된 경우 원래 테이블 이름
max_length 결과 집합에 대한 필드의 최대 너비입니다.
length 테이블 정의에 지정된 대로 필드의 너비(바이트)입니다. 이 숫자(바이트)는 사용하는 문자 집합에 따라 테이블 정의 값(문자)과 다를 수 있습니다. 예를 들어, 문자 집합 utf8은 문자당 3바이트이므로 varchar(10)은 utf8(10*3)의 경우 길이 30을 반환하지만 latin1(10*1)의 경우 10을 반환합니다.
charsetnr 필드의 문자 집합 번호(id)입니다.
flags 필드의 비트 플래그를 나타내는 정수입니다.
type 이 필드에 사용된 데이터 유형
decimals 사용된 소수 자릿수(정수 필드의 경우)

Examples

예제 #1 객체 지향 스타일

                  
<?php
$mysqli = new mysqli("127.0.0.1", "root", "foofoo", "sakila");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

foreach (array('latin1', 'utf8') as $charset) {

    // Set character set, to show its impact on some values (e.g., length in bytes)
    $mysqli->set_charset($charset);

    $query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo "======================\n";
    echo "Character Set: $charset\n";
    echo "======================\n";

    if ($result = $mysqli->query($query)) {

        /* Get field information for all columns */
        $finfo = $result->fetch_fields();

        foreach ($finfo as $val) {
            printf("Name:      %s\n",   $val->name);
            printf("Table:     %s\n",   $val->table);
            printf("Max. Len:  %d\n",   $val->max_length);
            printf("Length:    %d\n",   $val->length);
            printf("charsetnr: %d\n",   $val->charsetnr);
            printf("Flags:     %d\n",   $val->flags);
            printf("Type:      %d\n\n", $val->type);
        }
        $result->free();
    }
}
$mysqli->close();
?>
                  
                

예제 #2 절차적 스타일

                  
<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

foreach (array('latin1', 'utf8') as $charset) {

    // Set character set, to show its impact on some values (e.g., length in bytes)
    mysqli_set_charset($link, $charset);

    $query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

    echo "======================\n";
    echo "Character Set: $charset\n";
    echo "======================\n";

    if ($result = mysqli_query($link, $query)) {

        /* Get field information for all columns */
        $finfo = mysqli_fetch_fields($result);

        foreach ($finfo as $val) {
            printf("Name:      %s\n",   $val->name);
            printf("Table:     %s\n",   $val->table);
            printf("Max. Len:  %d\n",   $val->max_length);
            printf("Length:    %d\n",   $val->length);
            printf("charsetnr: %d\n",   $val->charsetnr);
            printf("Flags:     %d\n",   $val->flags);
            printf("Type:      %d\n\n", $val->type);
        }
        mysqli_free_result($result);
    }
}

mysqli_close($link);
?>
                  
                

위의 예는 다음을 출력합니다.

======================
Character Set: latin1
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    45
charsetnr: 8
Flags:     20489
Type:      253

======================
Character Set: utf8
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    135
charsetnr: 33
Flags:     20489
                

기타