PDO::setAttribute
미리 정의된 PDO 특성 또는 사용자 지정 드라이버 특성을 설정합니다.
구문
bool PDO::setAttribute ( $attribute, $value );
매개 변수
$attribute: 설정할 특성입니다. 지원되는 특성의 목록은 설명 섹션을 참조하세요.
$value: 값(혼합 형식)입니다.
Return Value
성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
설명
특성 | 처리 기준 | 지원되는 값 | 설명 |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
열 이름의 대/소문자를 지정합니다. PDO::CASE_LOWER 소문자 열 이름을 발생합니다. PDO::CASE_NATURAL(기본값)은 데이터베이스에서 반환된 열 이름을 표시합니다. PDO::CASE_UPPER 열 이름을 대문자로 지정합니다. 이 특성은 PDO::setAttribute를 사용하여 설정할 수 있습니다. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | PDO 설명서를 참조하세요. | PDO 설명서를 참조하세요. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::P ARAM_STR_CHAR PDO::P ARAM_STR_NATL |
자세한 내용은 PDO::quote의 예제를 참조하세요. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
드라이버에서 오류를 보고하는 방법을 지정합니다. PDO::ERRMODE_SILENT(기본값)는 오류 코드 및 정보를 설정합니다. PDO::ERRMODE_WARNING E_WARNING 발생합니다. PDO::ERRMODE_EXCEPTION 예외가 throw됩니다. 이 특성은 PDO::setAttribute를 사용하여 설정할 수 있습니다. |
PDO::ATTR_ORACLE_NULLS | PDO | PDO 설명서를 참조하세요. | null을 반환하는 방법을 지정합니다. PDO::NULL_NATURAL 변환하지 않습니다. PDO::NULL_EMPTY_STRING은 빈 문자열을 null로 변환합니다. PDO::NULL_TO_STRING null을 빈 문자열로 변환합니다. |
PDO::ATTR_STATEMENT_CLASS | PDO | PDO 설명서를 참조하세요. | PDOStatement에서 파생된 사용자 제공 문 클래스를 설정합니다.array(string classname, array(mixed constructor_args)) 가 필요합니다.자세한 내용은 PDO 설명서를 참조하세요. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | true 또는 false | 데이터를 검색할 때 숫자 값을 문자열로 변환합니다. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Microsoft Drivers for PHP for SQL Server | PHP 메모리 제한에 1. | 클라이언트 쪽 커서를 사용할 때 결과 집합을 보유하는 버퍼의 크기를 설정합니다. php.ini 파일에 지정되지 않은 경우 기본값은 10240KB입니다. 0과 음수는 허용되지 않습니다. 클라이언트 쪽 커서를 만드는 쿼리에 대한 자세한 내용은 커서 유형(PDO_SQLSRV 드라이버)을 참조하세요. |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Microsoft Drivers for PHP for SQL Server | 0과 4(포함) 사이의 정수 | 인출된 금액 값의 서식을 지정할 때 소수 자릿수를 지정합니다. 음수 정수 또는 4보다 큰 값은 무시됩니다. 이 옵션은 PDO::SQLSRV_ATTR_FORMAT_DECIMALS true인 경우에만 작동합니다. 이 옵션은 문 수준에서도 설정할 수 있습니다. 문 수준에서 설정하면, 문 수준 옵션이 이 옵션을 재정의합니다. 자세한 내용은 10진수 문자열 및 금액 값 서식 지정(PDO_SQLSRV Driver)을 참조하세요. |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Microsoft Drivers for PHP for SQL Server | true 또는 false | 직접 또는 준비된 쿼리 실행을 지정합니다. 자세한 내용은 PDO_SQLSRV 드라이버에서 직접 문 실행 및 준비된 문 실행을 참조 하세요. |
PDO::SQLSRV_ATTR_ENCODING | Microsoft Drivers for PHP for SQL Server | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM. |
드라이버가 서버와 통신하는 데 사용하는 문자 집합 인코딩을 설정합니다. PDO::SQLSRV_ENCODING_BINARY 지원되지 않습니다. 기본값은 PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Microsoft Drivers for PHP for SQL Server | true 또는 false | 날짜 및 시간 형식을 PHP DateTime 개체로 검색할지 여부를 지정합니다. false로 유지하면, 기본적으로 문자열로 반환됩니다. 이 옵션은 문 수준에서도 설정할 수 있습니다. 문 수준에서 설정하면, 문 수준 옵션이 이 옵션을 재정의합니다. 자세한 내용은 방법: PDO_SQLSRV 드라이버를 사용하여 날짜 및 시간 형식을 PHP 날짜/시간 개체로 검색을 참조하세요. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Microsoft Drivers for PHP for SQL Server | true 또는 false | 숫자 SQL 형식(비트, 정수, smallint, tinyint, float 또는 real)을 사용하여 열에서 숫자 인출을 처리합니다. 연결 옵션 플래그 ATTR_STRINGIFY_FETCHES를 켜면, SQLSRV_ATTR_FETCHES_NUMERIC_TYPE이 켜져 있더라도 반환 값이 문자열입니다. 바인딩 열에 반환된 PDO 형식이 PDO_PARAM_INT이면, SQLSRV_ATTR_FETCHES_NUMERIC_TYPE이 꺼져 있더라도 정수 열의 반환 값이 int입니다. |
PDO::SQLSRV_ATTR_FORMAT_DECIMALS | Microsoft Drivers for PHP for SQL Server | true 또는 false | 적절한 경우 앞에 오는 0을 10진수 문자열에 추가할지 여부를 지정합니다. 이 옵션을 설정하면 PDO::SQLSRV_ATTR_DECIMAL_PLACES 옵션을 사용하여 금액 형식을 지정할 수 있습니다. false를 유지하면 정확한 정밀도를 반환하고 1보다 작은 값에 대해 선행 0을 생략하는 기본 동작이 사용됩니다. 이 옵션은 문 수준에서도 설정할 수 있습니다. 문 수준에서 설정하면, 문 수준 옵션이 이 옵션을 재정의합니다. 자세한 내용은 10진수 문자열 및 금액 값 서식 지정(PDO_SQLSRV Driver)을 참조하세요. |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Microsoft Drivers for PHP for SQL Server | 정수 | 쿼리 시간 제한을 초 단위로 설정합니다. 기본값은 0입니다. 즉, 드라이버가 결과를 무기한 대기합니다. 음수는 허용되지 않습니다. |
PDO는 미리 정의된 특성 중 일부를 처리하고 드라이버가 다른 특성을 처리해야 합니다. 모든 사용자 지정 특성 및 연결 옵션은 드라이버에서 처리됩니다. PDO::ATTR_ERRMODE 설정에 따라 지원되지 않는 특성, 연결 옵션 또는 지원되지 않는 값이 보고됩니다.
Microsoft Drivers for PHP for SQL Server의 2.0 버전에서 PDO에 대한 지원이 추가되었습니다.
예시
이 샘플에서는 PDO::ATTR_ERRMODE 특성을 설정하는 방법을 보여줍니다.
<?php
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=(local) ; Database = $database", "", "");
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
?>