PDO::getAttribute

データベース接続の属性を取得する

説明

public mixed PDO::getAttribute(int $attribute)

この関数はデータベース接続の属性値を返します。PDOStatement 属性を取得する場合、 PDOStatement::getAttribute を参照ください。

いくつかのデータベースもしくはドライバは、 データベース接続の属性の全てのをサポートしていないかも知れないことに 注意してください。

パラメータ

attribute

PDO_ATTR_* 定数の 1 つを指定します。 データベース接続に適用される一般的な属性は以下の通りです。

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

ドライバによっては、 そのドライバ固有の属性を使っているかもしれません。 そういう属性は、他のドライバでは使っては いけない ことに注意して下さい。

戻り値

コールに成功した場合は要求された PDO 属性の値を返します。 コールに失敗した場合は null を返します。

エラー / 例外

ドライバが要求された attribute をサポートしていない場合、 PDO::getAttributePDOException をスローします。

例1 データベース接続の属性を取得する

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

参考

  • PDO::setAttribute
  • PDOStatement::getAttribute
  • PDOStatement::setAttribute