PHP8 PDO预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
PDO::PARAM_BOOL(int)- 表示布尔数据类型。
PDO::PARAM_NULL(int)- 表示 SQL 中的 NULL 数据类型。
PDO::PARAM_INT(int)- 表示 SQL 中的整型。
PDO::PARAM_STR(int)- 表示 SQL 中的 CHAR、VARCHAR 或其他字符串类型。
PDO::PARAM_STR_NATL(int)- 标记了字符使用的是国家字符集(national character set)。 自 PHP 7.2.0 起。
PDO::PARAM_STR_CHAR(int)- 标记了字符使用的是常规字符集(regular character set)。 自 PHP 7.2.0 起。
PDO::PARAM_LOB(int)- 表示 SQL 中大对象数据类型。
PDO::PARAM_STMT(int)- 表示一个记录集类型。当前尚未被任何驱动支持。
PDO::PARAM_INPUT_OUTPUT(int)- 指定参数为一个存储过程的 INOUT 参数。必须用一个明确的 PDO::PARAM_* 数据类型跟此值进行按位或。
PDO::FETCH_DEFAULT(int)- 指定将要使用的默认获取模式。自 PHP 8.0.7 可用。
PDO::FETCH_LAZY(int)- 指定获取方式,将结果集中的每一行作为一个对象返回,此对象的属性名对应着列名。
PDO::FETCH_LAZY返回 PDORow 对象,该对象在访问时创建对象属性名称。在 PDOStatement::fetchAll() 中无效。 PDO::FETCH_ASSOC(int)- 指定获取方式,将对应结果集中的每一行作为一个由列名索引的数组返回。如果结果集中包含多个名称相同的列,则
PDO::FETCH_ASSOC每个列名只返回一个值。 PDO::FETCH_NAMED(int)- 指定获取方式,将对应结果集中的每一行作为一个由列名索引的数组返回。如果结果集中包含多个名称相同的列,则
PDO::FETCH_ASSOC每个列名 返回一个包含值的数组。 PDO::FETCH_NUM(int)- 指定获取方式,将对应结果集中的每一行作为一个由列号索引的数组返回,从第 0 列开始。
PDO::FETCH_BOTH(int)- 指定获取方式,将对应结果集中的每一行作为一个由列号和列名索引的数组返回,从第 0 列开始。
PDO::FETCH_OBJ(int)- 指定获取方式,将结果集中的每一行作为一个属性名对应列名的对象返回。
PDO::FETCH_BOUND(int)- 指定获取方式,返回 TRUE 且将结果集中的列值分配给通过 PDOStatement::bindParam() 或 PDOStatement::bindColumn() 方法绑定的 PHP 变量。
PDO::FETCH_COLUMN(int)- 指定获取方式,从结果集中的下一行返回所需要的那一列。
PDO::FETCH_CLASS(int)- 指定获取方式,返回一个所请求类的新实例,映射列到类中对应的属性名。
注意: 如果所请求的类中不存在该属性,则调用 __set() 魔术方法
PDO::FETCH_INTO(int)- 指定获取方式,更新一个请求类的现有实例,映射列到类中对应的属性名。
PDO::FETCH_FUNC(int)- 允许在运行中完全用自定义的方式处理数据。(仅在 PDOStatement::fetchAll() 中有效)。
PDO::FETCH_GROUP(int)- 根据值分组返回。通常和
PDO::FETCH_COLUMN或PDO::FETCH_KEY_PAIR一起使用。 PDO::FETCH_UNIQUE(int)- 只取唯一值。
PDO::FETCH_KEY_PAIR(int)- 获取一个有两列的结果集到一个数组,其中第一列为键名,第二列为值。
PDO::FETCH_CLASSTYPE(int)- 根据第一列的值确定类名。
PDO::FETCH_SERIALIZE(int)- 类似
PDO::FETCH_INTO,但是以序列化的字符串表示对象。如果设置此标志,则类的构造函数永远不会被调用。自 PHP 8.1.0 起弃用。 PDO::FETCH_PROPS_LATE(int)- 设置属性前调用构造函数。
PDO::ATTR_AUTOCOMMIT(int)- 如果此值为
false,PDO 将试图禁用自动提交以便数据库连接开始一个事务。 PDO::ATTR_PREFETCH(int)- 设置预取大小来为你的应用平衡速度和内存使用。并非所有的数据库/驱动组合都支持设置预取大小。较大的预取大小导致性能提高的同时也会占用更多的内存。
PDO::ATTR_TIMEOUT(int)- 设置连接数据库的超时秒数。
PDO::ATTR_ERRMODE(int)- 关于此属性的更多信息请参见 错误及错误处理 部分。
PDO::ATTR_SERVER_VERSION(int)- 此为只读属性;返回 PDO 所连接的数据库服务的版本信息。
PDO::ATTR_CLIENT_VERSION(int)- 此为只读属性;返回 PDO 驱动所用客户端库的版本信息。
PDO::ATTR_SERVER_INFO(int)- 此为只读属性。返回一些关于 PDO 所连接的数据库服务的元信息。
PDO::ATTR_CONNECTION_STATUS(int)PDO::ATTR_CASE(int)- 用类似
PDO::CASE_*的常量强制列名为指定的大小写。 PDO::ATTR_CURSOR_NAME(int)- 获取或设置使用游标的名称。当使用可滚动游标和定位更新时候非常有用。
PDO::ATTR_CURSOR(int)- 选择游标类型。 PDO 当前支持
PDO::CURSOR_FWDONLY和PDO::CURSOR_SCROLL。一般为PDO::CURSOR_FWDONLY,除非确实需要一个可滚动游标。 PDO::ATTR_DRIVER_NAME(int)- 返回驱动名称。
示例 #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 (int)PDO::ATTR_PERSISTENT (int)PDO::ATTR_STATEMENT_CLASS (int)PDO::ATTR_FETCH_CATALOG_NAMES (int)PDO::ATTR_FETCH_TABLE_NAMES (int)PDO::ATTR_STRINGIFY_FETCHES (int)PDO::ATTR_MAX_COLUMN_LEN (int)PDO::ATTR_DEFAULT_FETCH_MODE (int)PDO::ATTR_EMULATE_PREPARES (int)PDO::ATTR_DEFAULT_STR_PARAM (int)PDO::PARAM_STR_NATL 和 PDO::PARAM_STR_CHAR。 自 PHP 7.2.0 起可用PDO::ERRMODE_SILENT (int)PDO::ERRMODE_WARNING (int)E_WARNING 消息。关于此属性的更多信息请参见 错误与错误处理。PDO::ERRMODE_EXCEPTION (int)PDO::CASE_NATURAL (int)PDO::CASE_LOWER (int)PDO::CASE_UPPER (int)PDO::NULL_NATURAL (int)PDO::NULL_EMPTY_STRING (int)PDO::NULL_TO_STRING (int)PDO::FETCH_ORI_NEXT (int)PDO::FETCH_ORI_PRIOR (int)PDO::FETCH_ORI_FIRST (int)PDO::FETCH_ORI_LAST (int)PDO::FETCH_ORI_ABS (int)PDO::FETCH_ORI_REL (int)PDO::CURSOR_FWDONLY (int)PDO::CURSOR_SCROLL (int)PDO::FETCH_ORI_* 常量来控制结果集中获取的行。PDO::ERR_NONE (string)PDO::PARAM_EVT_ALLOC (int)PDO::PARAM_EVT_FREE (int)PDO::PARAM_EVT_EXEC_PRE (int)PDO::PARAM_EVT_EXEC_POST (int)PDO::PARAM_EVT_FETCH_PRE (int)PDO::PARAM_EVT_FETCH_POST (int)PDO::PARAM_EVT_NORMALIZE (int)PDO::SQLITE_DETERMINISTIC (int)