
PDOStatement::setFetchMode는 fetch() 함수의 결과 형식을 지정하는 메서드입니다.
fetch() 함수의 결과 형식은 setFetchMode의 파라미터에 따라 결정됩니다.
예를 들어, PDO::FETCH_ASSOC을 사용할 때, fetch() 함수의 결과는 array 형식으로 리턴되는데, array의 키는 column 이름을 가집니다.
이와 같이 fetch() 함수의 결과 형식은 setFetchMode의 파라미터에 따라 결정됩니다.
fetchAll() 함수의 결과 형식은 setFetchMode의 파라미터와 상관없이 array 형식으로 리턴되는데, array의 키는 column 이름을 가집니다.
fetch() 함수의 결과 형식을 array 형식으로 변환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$stmt = $pdo->prepare("SELECT * FROM 테이블명");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetch();
// array 형식으로 변환
$result = array_change_key_case($result, CASE_LOWER);
또는
#hostingforum.kr
php
$stmt = $pdo->prepare("SELECT * FROM 테이블명");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetch();
// array 형식으로 변환
$result = array_map(function($key, $value) {
return [$key => $value];
}, array_keys($result), $result);
fetchAll() 함수의 결과 형식을 array 형식으로 변환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$stmt = $pdo->prepare("SELECT * FROM 테이블명");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
// array 형식으로 변환
$result = array_map(function($row) {
return array_change_key_case($row, CASE_LOWER);
}, $result);
또는
#hostingforum.kr
php
$stmt = $pdo->prepare("SELECT * FROM 테이블명");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
// array 형식으로 변환
$result = array_map(function($row) {
return array_map(function($key, $value) {
return [$key => $value];
}, array_keys($row), $row);
}, $result);
2025-08-02 20:33