PDO::setAttribute
定義済み PDO 属性またはカスタム ドライバー属性を設定します。
構文
bool PDO::setAttribute ( $attribute, $value );
パラメーター
$attribute: 設定する属性。 サポートされる属性の一覧については、「解説」セクションを参照してください。
$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::PARAM_STR_CHAR PDO::PARAM_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 は、例外をスローします。 この属性は 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 SQL Server 用 Drivers for PHP | PHP メモリの制限に 1。 | クライアント側カーソルを使用するときに結果セットを保持するバッファーのサイズを設定します。 php.ini ファイルで指定されていない限り、既定値は 10240 KB です。 ゼロおよび負の数値は許可できません。 クライアント側カーソルを作成するクエリの詳細については、「カーソルの種類 (PDO_SQLSRV ドライバー)」を参照してください。 |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Microsoft SQL Server 用 Drivers for PHP | 0 から 4 までの整数 | フェッチされた通貨値の書式設定時に、小数点以下の桁数を指定します。 負の整数値または 4 を超える値は無視されます。 このオプションは、PDO::SQLSRV_ATTR_FORMAT_DECIMALS が true の場合にのみ機能します。 このオプションは、ステートメント レベルでも設定されている場合があります。 その場合、このオプションはステートメント レベルのオプションによりオーバーライドされます。 詳細については、「10 進数文字列と金額の書式設定 (PDO_SQLSRV ドライバー)」を参照してください。 |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Microsoft SQL Server 用 Drivers for PHP | true または false | クエリの直接実行または準備された実行を指定します。 詳細については、「 Direct Statement Execution and Prepared Statement Execution in the PDO_SQLSRV Driver」 (PDO_SQLSRV ドライバーでの直接ステートメント実行と準備されたステートメントの実行) を参照してください。 |
PDO::SQLSRV_ATTR_ENCODING | Microsoft SQL Server 用 Drivers for PHP | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM. |
ドライバーがサーバーとの通信に使用する文字セット エンコーディングを設定します。 PDO::SQLSRV_ENCODING_BINARY はサポートされていません。 既定値は PDO::SQLSRV_ENCODING_UTF8 です。 |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Microsoft SQL Server 用 Drivers for PHP | true または false | 日付型と時刻型を PHP DateTime オブジェクトを使用して取得するかどうかを指定します。 false のままにすると、文字列として返すことが既定の動作となります。 このオプションは、ステートメント レベルでも設定されている場合があります。 その場合、このオプションはステートメント レベルのオプションによりオーバーライドされます。 詳細については、「PDO_SQLSRV ドライバーを使用して日付と時刻の型を PHP DateTime オブジェクトとして取得する」を参照してください。 |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Microsoft SQL Server 用 Drivers for PHP | true または false | 数値の SQL 型 (bit、integer、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 SQL Server 用 Drivers for PHP | true または false | 該当する場合に 10 進文字列の前にゼロを追加するかどうかを指定します。 このオプションを設定すると、PDO::SQLSRV_ATTR_DECIMAL_PLACES オプションが money 型の書式設定用に有効となります。 false のままにすると、正確な有効桁数を戻し、1 未満の値の前にあるゼロを省略するという既定の動作が使用されます。 このオプションは、ステートメント レベルでも設定されている場合があります。 その場合、このオプションはステートメント レベルのオプションによりオーバーライドされます。 詳細については、「10 進数文字列と金額の書式設定 (PDO_SQLSRV ドライバー)」を参照してください。 |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Microsoft SQL Server 用 Drivers for PHP | 整数 | クエリのタイムアウト (秒単位) を設定します。 既定値は 0 であり、ドライバーは結果をいつまでも待ちます。 負の数値は許可できません。 |
一部の定義済み属性は PDO で処理されますが、他の属性はドライバーで処理する必要があります。 カスタム属性と接続オプションはすべてドライバーにより処理されます。 サポートされない属性、接続オプション、サポートされない値は PDO::ATTR_ERRMODE の設定に基づいて報告されます。
PDO のサポートは Microsoft SQL Server 用 Drivers for PHPのバージョン 2.0 で追加されました。
例
このサンプルは、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" ) ));
}
?>