라이브러리

[PHP] PDO::setAttribute - 속성 설정




PDO::setAttribute


PDO::setAttribute 메소드는 PDO 객체의 특정 속성을 설정하는 메소드입니다. PDO 객체는 데이터베이스와의 연결을 관리하고, SQL 명령을 실행하는 등의 기능을 제공합니다. 이 메소드는 PDO 객체의 속성을 설정하기 위해 사용됩니다.

속성 설정


PDO::setAttribute 메소드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 속성 이름, 두 번째 매개변수는 속성 값입니다. 예를 들어, PDO 객체의 에러 모드(오류 모드)를 설정하는 경우 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo '오류 발생: ' . $e->getMessage();

}



예제


# 1. 에러 모드 설정


PDO::setAttribute 메소드를 사용하여 PDO 객체의 에러 모드를 설정하는 예제입니다.

#hostingforum.kr
php

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    

    // 에러 모드 설정

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    

    // SQL 명령 실행

    $stmt = $pdo->prepare('SELECT * FROM users');

    $stmt->execute();

    

    // 결과 출력

    while ($row = $stmt->fetch()) {

        echo $row['id'] . ' ' . $row['name'] . "
";

    }

} catch (PDOException $e) {

    echo '오류 발생: ' . $e->getMessage();

}



# 2. 캐시 설정


PDO::setAttribute 메소드를 사용하여 PDO 객체의 캐시 모드를 설정하는 예제입니다.

#hostingforum.kr
php

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    

    // 캐시 모드 설정

    $pdo->setAttribute(PDO::ATTR_CACHE, array('cache_dir' => './cache'));

    

    // SQL 명령 실행

    $stmt = $pdo->prepare('SELECT * FROM users');

    $stmt->execute();

    

    // 결과 출력

    while ($row = $stmt->fetch()) {

        echo $row['id'] . ' ' . $row['name'] . "
";

    }

} catch (PDOException $e) {

    echo '오류 발생: ' . $e->getMessage();

}



참고


PDO::setAttribute 메소드는 PDO 객체의 속성을 설정하기 위해 사용됩니다. 속성 설정은 PDO 객체의 기능을 제어하는 데 사용됩니다. 예를 들어, 에러 모드를 설정하여 오류를 처리하거나, 캐시 모드를 설정하여 데이터베이스 접근을 최적화할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 336 페이지

검색

게시물 검색