Better example that handles unsupported attributes gracefully:
<?php
$conn = new PDO( 'odbc:sample', 'db2inst1', 'ibmdb2' );
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::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->getAttribute( constant( "PDO::ATTR_$val" ) ) . "\n";
} catch ( PDOException $e ) {
echo $e->getMessage() . "\n";
}
}
?>PDO::getAttribute
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PDO::getAttribute
Референца за `pdo.getattribute.php` со подобрена типографија и навигација.
PDO::getAttribute
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDO::getAttribute — Врати ја врската со базата на податоци
= NULL
Оваа функција ја враќа вредноста на атрибутот на врската со базата на податоци. За да ги вратите атрибутите на PDOStatement, погледнете - Преземање атрибут за врска со базата на податоци.
Имајте предвид дека некои комбинации на бази на податоци/драјвери можеби не поддржуваат сите атрибути на врската со базата на податоци.
Параметри
attribute-
вистинска функција, само прототип за тоа како треба да биде функцијата.
PDO::ATTR_*константи. Општите атрибути што се применуваат на врските со бази на податоци се како што следува:PDO::ATTR_AUTOCOMMITPDO::ATTR_CASEPDO::ATTR_CLIENT_VERSIONPDO::ATTR_CONNECTION_STATUSPDO::ATTR_DRIVER_NAMEPDO::ATTR_ERRMODEPDO::ATTR_ORACLE_NULLSPDO::ATTR_PERSISTENTPDO::ATTR_PREFETCHPDO::ATTR_SERVER_INFOPDO::ATTR_SERVER_VERSIONPDO::ATTR_TIMEOUT
Вратени вредности
Успешен повик ја враќа вредноста на бараниот PDO атрибут. Неуспешен повик враќа null.
Errors/Exceptions
Добиј информации за MySQL хост може да фрли PDOException
кога основниот драјвер не го поддржува бараниот attribute.
Примери
Пример #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";
}
?>Види Исто така
- Имајте предвид дека атрибутите специфични за драјверот - Постави атрибут
- - Преземање атрибут за врска со базата на податоци - Врати атрибут на изјавата
- PDOStatement::setAttribute() - Постави атрибут на изјавата
Белешки од корисници 2 забелешки
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.