PDO::getAttribute

(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)

PDO::getAttribute Получить атрибут соеденения с базой данных

Описание

mixed PDO::getAttribute ( int $attribute )

Эта функция возвращает значение атрибута соединения с базой данных. Чтобы получить атрибуты PDOStatement, обратитесь к PDOStatement::getAttribute().

Заметьте, что некоторые базы данных/комбинации драйверов могу не поддерживать всех атрибутов соединения с базой данных.

Список параметров

attribute

Одни из PDO::ATTR_* констант. Следующие константы применяются для соединений с базами данных:

  • 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.

Примеры

Пример #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";
}
?>

Смотрите также

Коментарии

The Oracle driver seems to not support PDO::getAttribute():

ociPHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[IM001]: Driver does not support this function: driver does not support getting attributes' in ...
2009-09-08 04:44:16
http://php5.kiev.ua/manual/ru/pdo.getattribute.html
Автор:
Oracle does not have the following attributes:

PDO::ATTR_CONNECTION_STATUS: SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute
PDO::ATTR_PREFETCH: SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute
PDO::ATTR_TIMEOUT: SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute

The rest work fine.
2015-09-02 21:45:15
http://php5.kiev.ua/manual/ru/pdo.getattribute.html
As of 30-Jan-2016, MariaDB on version "5.5.5-10.1.9-MariaDB" apparently  does not support: "PREFETCH" nor "TIMEOUT".
2016-01-30 13:37:11
http://php5.kiev.ua/manual/ru/pdo.getattribute.html
Mysql on version  "5.6.29" not support "PDO::ATTR_PREFETCH"  and "PDO::ATTR_TIMEOUT"
2016-12-01 04:13:07
http://php5.kiev.ua/manual/ru/pdo.getattribute.html
Автор:
Better example that handles unsupported attributes gracefully:

<?php

$conn 
= new PDO'odbc:sample''db2inst1''ibmdb2' );
$conn->setAttributePDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION );

$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: ";
    try {
        echo 
$conn->getAttributeconstant"PDO::ATTR_$val" ) ) . "\n";
    } catch ( 
PDOException $e ) {
        echo 
$e->getMessage() . "\n";
    }
}

?>
2018-06-15 16:54:40
http://php5.kiev.ua/manual/ru/pdo.getattribute.html

    Поддержать сайт на родительском проекте КГБ