
PDOStatement::fetchObject 메서드는 PDOStatement 객체에서 결과를 객체로 가져올 때 사용됩니다. 이 메서드는 fetchAll 메서드와 달리, 한 번에 한 행의 결과만 가져오며, 결과를 stdClass 객체로 반환합니다.
fetchObject 메서드를 사용하는 이유는, 결과를 객체로 가져올 때, stdClass 객체의 프로퍼티 이름이 컬럼 이름과 일치하도록 자동으로 설정되기 때문입니다. 따라서, 컬럼 이름을 사용하여 프로퍼티에 접근할 수 있습니다.
fetchObject 메서드를 사용할 때, fetchAll 메서드와의 차이점은, fetchAll 메서드는 한 번에 모든 결과를 가져오며, 결과를 배열로 반환합니다. 반면, fetchObject 메서드는 한 번에 한 행의 결과만 가져오며, 결과를 stdClass 객체로 반환합니다.
위의 예제 코드에서, fetchObject 메서드는 stdClass 객체를 생성하여 결과를 가져옵니다. 이 때, stdClass 객체의 프로퍼티 이름은 컬럼 이름과 일치하므로, 컬럼 이름을 사용하여 프로퍼티에 접근할 수 있습니다.
예를 들어, 다음과 같이 컬럼 이름을 사용하여 프로퍼티에 접근할 수 있습니다.
#hostingforum.kr
php
$stmt = $pdo->prepare('SELECT * FROM users');
$stmt->execute();
$user = $stmt->fetchObject();
echo $user->id; // id 컬럼의 값을 가져옵니다.
echo $user->name; // name 컬럼의 값을 가져옵니다.
fetchObject 메서드는 결과를 객체로 가져올 때 유용한 메서드이며, 컬럼 이름을 사용하여 프로퍼티에 접근할 수 있습니다.
2025-03-13 21:53