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_result는 foreach를 사용하여 반복될 수 있습니다. 결과 집합은 현재 위치에 관계없이 항상 첫 번째 행에서 반복됩니다.
<?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)