©
本文档使用
php.cn手册 发布
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
自 PHP 5.1 起,开始使用类常量。以前的版本使用类似 PDO_PARAM_BOOL
这样的全局常量。
PDO::PARAM_BOOL
( integer )
PDO::PARAM_NULL
( integer )
PDO::PARAM_INT
( integer )
PDO::PARAM_STR
( integer )
PDO::PARAM_LOB
( integer )
PDO::PARAM_STMT
( integer )
PDO::PARAM_INPUT_OUTPUT
( integer )
PDO::FETCH_LAZY
( integer )
PDO::FETCH_LAZY
创建用来访问的对象变量名。在 PDOStatement::fetchAll() 中无效。
PDO::FETCH_ASSOC
( integer )
PDO::FETCH_ASSOC
每个列名只返回一个值。
PDO::FETCH_NAMED
( integer )
PDO::FETCH_ASSOC
每个列名 返回一个包含值的数组。
PDO::FETCH_NUM
( integer )
PDO::FETCH_BOTH
( integer )
PDO::FETCH_OBJ
( integer )
PDO::FETCH_BOUND
( integer )
PDO::FETCH_COLUMN
( integer )
PDO::FETCH_CLASS
( integer )
Note: 如果所请求的类中不存在该属性,则调用 __set() 魔术方法
PDO::FETCH_INTO
( integer )
PDO::FETCH_FUNC
( integer )
PDO::FETCH_GROUP
( integer )
PDO::FETCH_COLUMN
或 PDO::FETCH_KEY_PAIR
一起使用。
PDO::FETCH_UNIQUE
( integer )
PDO::FETCH_KEY_PAIR
( integer )
PDO::FETCH_CLASSTYPE
( integer )
PDO::FETCH_SERIALIZE
( integer )
PDO::FETCH_INTO
,但是以一个序列化的字符串表示对象。自 PHP 5.1.0 起可用。从 PHP 5.3.0 开始,如果设置此标志,则类的构造函数从不会被调用。
PDO::FETCH_PROPS_LATE
( integer )
PDO::ATTR_AUTOCOMMIT
( integer )
FALSE
,PDO 将试图禁用自动提交以便数据库连接开始一个事务。
PDO::ATTR_PREFETCH
( integer )
PDO::ATTR_TIMEOUT
( integer )
PDO::ATTR_ERRMODE
( integer )
PDO::ATTR_SERVER_VERSION
( integer )
PDO::ATTR_CLIENT_VERSION
( integer )
PDO::ATTR_SERVER_INFO
( integer )
PDO::ATTR_CONNECTION_STATUS
( integer )
PDO::ATTR_CASE
( integer )
PDO::ATTR_CURSOR_NAME
( integer )
PDO::ATTR_CURSOR
( integer )
PDO::CURSOR_FWDONLY
和 PDO::CURSOR_SCROLL
。一般为 PDO::CURSOR_FWDONLY
,除非确实需要一个可滚动游标。
PDO::ATTR_DRIVER_NAME
( string )
Example #1 使用 PDO::ATTR_DRIVER_NAME
的例子
<?php
if ( $db -> getAttribute ( PDO :: ATTR_DRIVER_NAME ) == 'mysql' ) {
echo "Running on mysql; doing something mysql specific here\n" ;
}
?>
PDO::ATTR_ORACLE_NULLS
( integer )
PDO::ATTR_PERSISTENT
( integer )
PDO::ATTR_STATEMENT_CLASS
( integer )
PDO::ATTR_FETCH_CATALOG_NAMES
( integer )
PDO::ATTR_FETCH_TABLE_NAMES
( integer )
PDO::ATTR_STRINGIFY_FETCHES
( integer )
PDO::ATTR_MAX_COLUMN_LEN
( integer )
PDO::ATTR_DEFAULT_FETCH_MODE
( integer )
PDO::ATTR_EMULATE_PREPARES
( integer )
PDO::ERRMODE_SILENT
( integer )
PDO::ERRMODE_WARNING
( integer )
E_WARNING
消息。关于此属性的更多信息请参见 错误与错误处理。
PDO::ERRMODE_EXCEPTION
( integer )
PDO::CASE_NATURAL
( integer )
PDO::CASE_LOWER
( integer )
PDO::CASE_UPPER
( integer )
PDO::NULL_NATURAL
( integer )
PDO::NULL_EMPTY_STRING
( integer )
PDO::NULL_TO_STRING
( integer )
PDO::FETCH_ORI_NEXT
( integer )
PDO::FETCH_ORI_PRIOR
( integer )
PDO::FETCH_ORI_FIRST
( integer )
PDO::FETCH_ORI_LAST
( integer )
PDO::FETCH_ORI_ABS
( integer )
PDO::FETCH_ORI_REL
( integer )
PDO::CURSOR_FWDONLY
( integer )
PDO::CURSOR_SCROLL
( integer )
PDO::ERR_NONE
( string )
PDO::PARAM_EVT_ALLOC
( integer )
PDO::PARAM_EVT_FREE
( integer )
PDO::PARAM_EVT_EXEC_PRE
( integer )
PDO::PARAM_EVT_EXEC_POST
( integer )
PDO::PARAM_EVT_FETCH_PRE
( integer )
PDO::PARAM_EVT_FETCH_POST
( integer )
PDO::PARAM_EVT_NORMALIZE
( integer )
[#1] sam at xnet dot tk [2013-01-26 19:37:47]
It should be noted that PDO::FETCH_CLASS will call the constructor *after* setting the values (or calling __set).
[#2] Axeia [2010-04-02 09:21:46]
If you're reading in information from an array to use in a prepared statement you may find the following function useful.
<?php
function getPDOConstantType( $var )
{
if( is_int( $var ) )
return PDO::PARAM_INT;
if( is_bool( $var ) )
return PDO::PARAM_BOOL;
if( is_null( $var ) )
return PDO::PARAM_NULL;
//Default
return PDO::PARAM_STR;
}
?>