현재 위치: > 최신 기사 목록> MySQLI_RESULT에서 열을 배열로 추출하는 방법은 무엇입니까? Array_Column ()을 사용하여 쉽게 해결하십시오

MySQLI_RESULT에서 열을 배열로 추출하는 방법은 무엇입니까? Array_Column ()을 사용하여 쉽게 해결하십시오

M66 2025-07-18

PHP를 사용하여 MySQL 데이터베이스를 작동 할 때 MySQLI_Query를 사용하여 쿼리를 실행 한 후 많은 사람들이 MySQLI_Result 객체를 얻게됩니다. 때로는 모든 사용자 이름 및 모든 ID와 같은 하나의 열의 데이터를 추출하여 배열에 넣기를 원합니다. 현재, 수동 루프 는 실제로 약간 장점입니다. 실제로 PHP의 내장 Array_column ()은 쉽게 처리 할 수 있도록 도와줍니다.

이 기사는 Array_Column ()을 사용하여 MySQLI_RESULT 에서 열을 빠르게 추출하는 방법을 알려줍니다.

기본 쿼리

필드 ID사용자 이름이 있는 사용자 테이블 사용자 가 있다고 가정합니다. 배열을 형성하기 위해 모든 사용자 이름을 꺼내고 싶습니다.

 <?php
$mysqli = new mysqli('localhost', 'db_user', 'db_pass', 'db_name');
if ($mysqli->connect_error) {
    die('연결이 실패했습니다:' . $mysqli->connect_error);
}

$sql = "SELECT id, username FROM users";
$result = $mysqli->query($sql);
if (!$result) {
    die('쿼리가 실패했습니다:' . $mysqli->error);
}

현재 $ result는 mysqli_result 객체입니다. Array_Column ()을 사용하려면 배열로 변환해야합니다.

배열로 추출하십시오

mysqli_fetch_all () 은 결과를 한 번에 2 차원 배열로 변환 할 수 있습니다. 연관 배열을 얻으려면 mysqli_assoc 매개 변수를 사용해야합니다.

 $rows = $result->fetch_all(MYSQLI_ASSOC);

현재 $ 행 의 구조는 다음과 같습니다.

 [
    ['id' => 1, 'username' => 'alice'],
    ['id' => 2, 'username' => 'bob'],
    ['id' => 3, 'username' => 'charlie']
]

이제 Array_Column ()을 사용하여 사용자 이름 열을 추출 할 수 있습니다.

 $usernames = array_column($rows, 'username');

$ 사용자 이름 의 결과는 다음과 같습니다.

 ['alice', 'bob', 'charlie']

ID 열을 추출하고 ID를 키로 사용하려면 다음을 사용하십시오.

 $usernamesById = array_column($rows, 'username', 'id');

이런 식으로 $ usernamesbyid는 다음 과 같습니다.

 [
    1 => 'alice',
    2 => 'bob',
    3 => 'charlie'
]

완전한 예

 <?php
$mysqli = new mysqli('localhost', 'db_user', 'db_pass', 'db_name');
if ($mysqli->connect_error) {
    die('연결이 실패했습니다:' . $mysqli->connect_error);
}

$sql = "SELECT id, username FROM users";
$result = $mysqli->query($sql);
if (!$result) {
    die('쿼리가 실패했습니다:' . $mysqli->error);
}

$rows = $result->fetch_all(MYSQLI_ASSOC);
$usernames = array_column($rows, 'username');

print_r($usernames);

$mysqli->close();
?>