
PDO::setAttribute 메서드는 데이터베이스 연결 옵션을 설정하는 데 사용됩니다. 두 번째 인자로 전달할 수 있는 옵션의 종류는 다음과 같습니다.
- PDO::ATTR_ERRMODE: 에러 모드 옵션입니다. 이 옵션을 설정하면 PDO가 에러를 처리하는 방식을 결정합니다. 예를 들어, PDO::ERRMODE_EXCEPTION을 설정하면 PDO가 예외를 발생시켜 에러를 처리합니다.
- PDO::ATTR_DEFAULT_FETCH_MODE: 기본 fetch 모드 옵션입니다. 이 옵션을 설정하면 PDO가 데이터를 가져올 때 사용하는 fetch 모드를 결정합니다. 예를 들어, PDO::FETCH_ASSOC을 설정하면 PDO가 데이터를 가져올 때 연관 배열로 반환합니다.
- PDO::ATTR_CASE: 데이터베이스에서 가져온 데이터의 경우를 결정하는 옵션입니다. 예를 들어, PDO::CASE_NATURAL을 설정하면 PDO가 데이터베이스에서 가져온 데이터의 경우를 자연스럽게 유지합니다.
- PDO::ATTR_ORATIMECOLON: 오라클 데이터베이스에서만 사용되는 옵션입니다. 이 옵션을 설정하면 PDO가 오라클 데이터베이스에서 가져온 데이터의 시간을 ":"으로 구분합니다.
- PDO::ATTR_STRINGIFY_FETCHES: 데이터를 가져올 때 문자열로 반환하는 옵션입니다. 예를 들어, PDO::STRINGIFY_FETCHES를 설정하면 PDO가 데이터를 가져올 때 문자열로 반환합니다.
- PDO::ATTR_EMULATE_PREPARES: prepare 모드 옵션입니다. 이 옵션을 설정하면 PDO가 prepare 모드를 에뮬레이트합니다. 예를 들어, PDO::EMULATE_PREPARES를 설정하면 PDO가 prepare 모드를 에뮬레이트하여 성능을 향상시킵니다.
- PDO::ATTR_STATEMENT_CLASS: prepare 문을 생성할 때 사용하는 클래스 옵션입니다. 예를 들어, PDO::STATEMENT_CLASS를 설정하면 PDO가 prepare 문을 생성할 때 사용하는 클래스를 결정합니다.
- PDO::ATTR_TIMEOUT: 데이터베이스 연결 시간 초과 옵션입니다. 예를 들어, PDO::TIMEOUT를 설정하면 PDO가 데이터베이스 연결 시간 초과를 설정합니다.
- PDO::ATTR_MAX_BUFFER_SIZE: 데이터베이스 연결 버퍼 사이즈 옵션입니다. 예를 들어, PDO::MAX_BUFFER_SIZE를 설정하면 PDO가 데이터베이스 연결 버퍼 사이즈를 설정합니다.
- PDO::ATTR_DEFAULT_FETCH_CATALOG: 데이터베이스 연결 시 catalog 옵션입니다. 예를 들어, PDO::DEFAULT_FETCH_CATALOG을 설정하면 PDO가 데이터베이스 연결 시 catalog 옵션을 설정합니다.
- PDO::ATTR_PERSISTENT: 데이터베이스 연결.persistent 옵션입니다. 예를 들어, PDO::PERSISTENT를 설정하면 PDO가 데이터베이스 연결을 persistent로 설정합니다.
- PDO::ATTR_PREFETCH: 데이터베이스 연결 prefetch 옵션입니다. 예를 들어, PDO::PREFETCH를 설정하면 PDO가 데이터베이스 연결 prefetch 옵션을 설정합니다.
- PDO::ATTR_FETCH_CATALOG_METHODS: 데이터베이스 연결 fetch catalog 옵션입니다. 예를 들어, PDO::FETCH_CATALOG_METHODS를 설정하면 PDO가 데이터베이스 연결 fetch catalog 옵션을 설정합니다.
- PDO::ATTR_DEFAULT_FETCH_MODE: 데이터베이스 연결 default fetch 옵션입니다. 예를 들어, PDO::DEFAULT_FETCH_MODE를 설정하면 PDO가 데이터베이스 연결 default fetch 옵션을 설정합니다.
- PDO::ATTR_STRINGIFY_FETCHES: 데이터베이스 연결 stringify fetch 옵션입니다. 예를 들어, PDO::STRINGIFY_FETCHES를 설정하면 PDO가 데이터베이스 연결 stringify fetch 옵션을 설정합니다.
- PDO::ATTR_EMULATE_PREPARES: 데이터베이스 연결 emulate prepares 옵션입니다. 예를 들어, PDO::EMULATE_PREPARES를 설정하면 PDO가 데이터베이스 연결 emulate prepares 옵션을 설정합니다.
- PDO::ATTR_STATEMENT_CLASS: 데이터베이스 연결 statement class 옵션입니다. 예를 들어, PDO::STATEMENT_CLASS를 설정하면 PDO가 데이터베이스 연결 statement class 옵션을 설정합니다.
- PDO::ATTR_TIMEOUT: 데이터베이스 연결 timeout 옵션입니다. 예를 들어, PDO::TIMEOUT를 설정하면 PDO가 데이터베이스 연결 timeout 옵션을 설정합니다.
- PDO::ATTR_MAX_BUFFER_SIZE: 데이터베이스 연결 max buffer size 옵션입니다. 예를 들어, PDO::MAX_BUFFER_SIZE를 설정하면 PDO가 데이터베이스 연결 max buffer size 옵션을 설정합니다.
- PDO::ATTR_DEFAULT_FETCH_CATALOG: 데이터베이스 연결 default fetch catalog 옵션입니다. 예를 들어, PDO::DEFAULT_FETCH_CATALOG을 설정하면 PDO가 데이터베이스 연결 default fetch catalog 옵션을 설정합니다.
- PDO::ATTR_PERSISTENT: 데이터베이스 연결 persistent 옵션입니다. 예를 들어, PDO::PERSISTENT를 설정하면 PDO가 데이터베이스 연결 persistent 옵션을 설정합니다.
- PDO::ATTR_PREFETCH: 데이터베이스 연결 prefetch 옵션입니다. 예를 들어, PDO::PREFETCH를 설정하면 PDO가 데이터베이스 연결 prefetch 옵션을 설정합니다.
- PDO::ATTR_FETCH_CATALOG_METHODS: 데이터베이스 연결 fetch catalog methods 옵션입니다. 예를 들어, PDO::FETCH_CATALOG_METHODS를 설정하면 PDO가 데이터베이스 연결 fetch catalog methods 옵션을 설정합니다.
이러한 옵션 중 일부는 데이터베이스 종류에 따라 사용할 수 없을 수 있습니다. 예를 들어, 오라클 데이터베이스에서는 PDO::ATTR_ORATIMECOLON 옵션을 사용할 수 없습니다.
2025-07-27 01:09