mysqli_result::fetch_assoc

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — 결과 집합의 다음 행을 연관 배열로 가져옵니다.


설명

객체 지향 스타일

public mysqli_result::fetch_assoc(): array|null|false

절차적 스타일

mysqli_fetch_assoc(mysqli_result $result): array|null|false

결과 집합에서 데이터의 한 행을 가져와서 연관 배열로 반환합니다. 이 함수에 대한 각 후속 호출은 결과 집합 내에서 다음 행을 반환하거나 더 이상 행이 없으면 null을 반환합니다.

결과의 두 개 이상의 열이 동일한 이름을 갖는 경우 마지막 열이 우선적으로 적용되고 이전 데이터를 덮어씁니다. 동일한 이름을 가진 여러 열에 액세스하려면 mysqli_fetch_row()를 사용하여 숫자로 인덱싱된 배열을 가져오거나 별칭을 사용하여 SQL 쿼리 선택 목록에서 열에 다른 이름을 지정할 수 있습니다.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구분합니다.

참고: 이 함수는 NULL 필드를 PHP null 값으로 설정합니다.


매개변수

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

반환 값

가져온 행을 나타내는 연관 배열을 반환합니다. 여기서 배열의 각 키는 결과 집합의 열 중 하나의 이름을 나타내고, 결과 집합에 행이 더 이상 없으면 null을, 실패하면 false를 반환합니다.


Examples

예제 #1 mysqli_result::fetch_assoc() 예제

객체 지향 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
                  
                

절차적 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)
                

예제 #2 mysqli_result 반복자와 mysqli_result::fetch_assoc() 사용 비교

mysqli_resultforeach를 사용하여 반복될 수 있습니다. 결과 집합은 현재 위치에 관계없이 항상 첫 번째 행에서 반복됩니다.

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = 'SELECT Name, CountryCode FROM City ORDER BY ID DESC';

// Using iterators
$result = $mysqli->query($query);
foreach ($result as $row) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

echo "\n==================\n";

// Not using iterators
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

==================
Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)
                

기타

  • mysqli_fetch_array() - 결과 집합의 다음 행을 연관, 숫자 배열 또는 둘 다로 가져옵니다.
  • mysqli_fetch_column() - 결과 집합의 다음 행에서 단일 열을 가져옵니다.
  • mysqli_fetch_row() - 결과 집합의 다음 행을 열거형 배열로 가져옵니다.
  • mysqli_fetch_object() - 결과 집합의 다음 행을 개체로 가져옵니다.
  • mysqli_query() - 데이터베이스에 대한 쿼리를 수행합니다.
  • mysqli_data_seek() - 결과의 임의의 행에 대한 결과 포인터를 조정합니다.