라이브러리
[PHP] PDOStatement::setFetchMode - 이 명령문에 대한 기본 페치 모드를 설정합니다.
PDOStatement::setFetchMode
PDOStatement::setFetchMode는 PDOStatement 객체의 fetch 모드를 설정하는 메서드입니다. 이 메서드는 fetch 모드를 변경하여 데이터를 가져올 때의 형식을 지정할 수 있습니다.
# fetch 모드
PDOStatement::setFetchMode에서 사용할 수 있는 fetch 모드는 다음과 같습니다.
* PDO::FETCH_ASSOC : 배열의 키가 컬럼 이름이 됩니다.
* PDO::FETCH_BOTH : 배열의 키가 컬럼 이름이 되며, 인덱스도 함께 제공됩니다.
* PDO::FETCH_BOUND : 배열의 키가 컬럼 이름이 되며, 인덱스도 함께 제공되며, 변수에 바인딩됩니다.
* PDO::FETCH_CLASS : 객체의 속성이 컬럼 이름이 됩니다.
* PDO::FETCH_INTO : 객체의 속성이 컬럼 이름이 됩니다.
* PDO::FETCH_LAZY : 객체의 속성이 컬럼 이름이 됩니다.
* PDO::FETCH_NAMED : 배열의 키가 컬럼 이름이 됩니다.
* PDO::FETCH_NUM : 배열의 키가 인덱스가 됩니다.
* PDO::FETCH_OBJ : 객체의 속성이 컬럼 이름이 됩니다.
# 예제
다음 예제는 PDOStatement::setFetchMode를 사용하여 데이터를 가져올 때의 형식을 지정하는 방법을 보여줍니다.
#hostingforum.kr
php
// PDO 연결
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
// 쿼리 실행
$stmt = $db->prepare('SELECT * FROM users');
$stmt->execute();
// fetch 모드 설정
$stmt->setFetchMode(PDO::FETCH_ASSOC);
// 데이터 가져오기
while ($row = $stmt->fetch()) {
print_r($row);
}
// fetch 모드 변경
$stmt->setFetchMode(PDO::FETCH_BOTH);
// 데이터 가져오기
while ($row = $stmt->fetch()) {
print_r($row);
}
// fetch 모드 변경
$stmt->setFetchMode(PDO::FETCH_CLASS, 'User');
// 데이터 가져오기
while ($row = $stmt->fetch()) {
$user = new User();
$user->load($row);
print_r($user);
}
class User {
public $id;
public $name;
public $email;
public function load($data) {
$this->id = $data['id'];
$this->name = $data['name'];
$this->email = $data['email'];
}
}
이 예제에서는 PDOStatement::setFetchMode를 사용하여 데이터를 가져올 때의 형식을 지정하는 방법을 보여줍니다. fetch 모드는 PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_CLASS로 설정되어 있으며, 각 모드별로 데이터를 가져올 때의 형식이 다릅니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.