
PDO::FETCH_CLASS와 PDO::FETCH_OBJ의 차이점은 다음과 같습니다.
- PDO::FETCH_CLASS: 이 옵션을 사용하면 fetchObject 메소드가 지정된 클래스의 객체를 반환합니다.
예를 들어, User 클래스가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
class User {
public $id;
public $name;
}
이 경우, PDO::FETCH_CLASS 옵션을 사용하여 fetchObject 메소드를 호출하면 User 클래스의 객체가 반환됩니다.
#hostingforum.kr
php
$stmt = $pdo->prepare('SELECT * FROM users');
$stmt->execute();
$user = $stmt->fetchObject('User');
- PDO::FETCH_OBJ: 이 옵션을 사용하면 fetchObject 메소드가 stdClass 객체를 반환합니다.
stdClass 객체는 PHP에서 기본적으로 제공하는 객체입니다.
stdClass 객체는 프로퍼티를 동적으로 추가할 수 있습니다.
#hostingforum.kr
php
$stmt = $pdo->prepare('SELECT * FROM users');
$stmt->execute();
$user = $stmt->fetchObject();
위 예제에서 stdClass 객체의 프로퍼티는 데이터베이스에서 가져온 열 이름과 일치합니다.
결론적으로, PDO::FETCH_CLASS 옵션을 사용하면 지정된 클래스의 객체를 반환합니다. 반면, PDO::FETCH_OBJ 옵션을 사용하면 stdClass 객체를 반환합니다.
이 두 옵션의 선택은 개발자의 필요에 따라 달라질 수 있습니다. PDO::FETCH_CLASS 옵션을 사용하면 클래스의 메소드를 호출할 수 있지만, PDO::FETCH_OBJ 옵션을 사용하면 stdClass 객체의 프로퍼티를 동적으로 추가할 수 있습니다.
2025-06-13 23:32