
`SqlStatementResult::fetchAll` 메서드는 실행된 쿼리의 결과를 가져올 때 사용되는 메서드입니다. 이 메서드의 리턴 타입이 배열인 이유는, 결과가 여러 행일 때 각 행을 배열로 반환하기 때문입니다.
예를 들어, 실행된 쿼리가 하나의 레코드를 반환하는 경우, 이 메서드가 반환하는 결과는 2차원 배열로 반환됩니다. 2차원 배열의 첫 번째 인덱스는 행 번호를 나타내고, 두 번째 인덱스는 열 번호를 나타냅니다.
예를 들어, 다음 쿼리가 하나의 레코드를 반환하는 경우:
#hostingforum.kr
sql
SELECT * FROM users WHERE id = 1;
`SqlStatementResult::fetchAll` 메서드는 다음과 같은 결과를 반환합니다:
#hostingforum.kr
php
array(
array(
'id' => 1,
'name' => 'John Doe',
'email' => 'john@example.com'
)
)
만약 실행된 쿼리가 여러 행을 반환하는 경우, `SqlStatementResult::fetchAll` 메서드는 각 행을 별도의 배열로 반환합니다:
#hostingforum.kr
php
array(
array(
'id' => 1,
'name' => 'John Doe',
'email' => 'john@example.com'
),
array(
'id' => 2,
'name' => 'Jane Doe',
'email' => 'jane@example.com'
)
)
이러한 결과를 처리하기 위해, PHP의 `PDO` 클래스는 `fetch` 메서드를 제공합니다. 이 메서드는 결과를 하나의 배열로 반환합니다. 예를 들어:
#hostingforum.kr
php
$stmt = $pdo->query('SELECT * FROM users WHERE id = 1;');
$result = $stmt->fetch();
print_r($result);
이 경우, `$result` 변수에는 다음 값이 할당됩니다:
#hostingforum.kr
php
array(
'id' => 1,
'name' => 'John Doe',
'email' => 'john@example.com'
)
2025-06-03 04:09