文字

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

范例

Example #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() - 设置一个语句属性

用户评论:

[#1] Robert Parham [2015-09-02 18:45:15]

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.

[#2] peter dot hopfgartner at r3-gis dot com [2009-09-08 01:44:16]

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

上一篇: 下一篇: