本主题列出了 SQL Server Driver for PHP 定义的常量。
下表中列出了用于指定 sqlsrv_errors 是返回错误还是警告或者是二者都返回的常量。
值 | 说明 |
---|---|
SQLSRV_ERR_ALL |
返回上次调用 sqlsrv 函数时生成的错误和警告。此值为默认值。 |
SQLSRV_ERR_ERRORS |
返回上次调用 sqlsrv 函数时生成的错误。 |
SQLSRV_ERR_WARNINGS |
返回上次调用 sqlsrv 函数时生成的警告。 |
下表中列出了用于指定 sqlsrv_fetch_array 返回的数组的类型的常量。
SQLSRV 常量 | 说明 |
---|---|
SQLSRV_FETCH_ASSOC |
sqlsrv_fetch_array 将下一行数据以关联数组的形式返回。 |
SQLSRV_FETCH_BOTH |
sqlsrv_fetch_array 将下一行数据以带有数值键和关联键的数组的形式返回。此值为默认值。 |
SQLSRV_FETCH_NUMERIC |
sqlsrv_fetch_array 将下一行数据以数字索引数组的形式返回。 |
有关如何使用这些常量的详细信息,请参阅如何以数组的形式检索数据。
本部分列出了用于通过 sqlsrv_configure 更改日志记录设置的常量。有关将活动记入日志的详细信息,请参阅将活动记入日志。
下表列出了可用作 LogSubsystems 设置的值的常量:
SQLSRV 常量(括号中为等效整数) | 说明 |
---|---|
SQLSRV_LOG_SYSTEM_ALL (-1) |
对所有子系统启用日志记录。 |
SQLSRV_LOG_SYSTEM_CONN (2) |
对连接活动启用日志记录。 |
SQLSRV_LOG_SYSTEM_INIT (1) |
对初始化活动启用日志记录。 |
SQLSRV_LOG_SYSTEM_OFF (0) |
禁用日志记录。 |
SQLSRV_LOG_SYSTEM_STMT (4) |
对语句活动启用日志记录。 |
SQLSRV_LOG_SYSTEM_UTIL (8) |
对错误函数活动(例如 handle_error 和 handle_warning)启用日志记录。 |
下表列出了可用作 LogSeverity 设置的值的常量:
SQLSRV 常量(括号中为等效整数) | 说明 |
---|---|
SQLSRV_LOG_SEVERITY_ALL (-1) |
指定将错误、警告和通知记入日志。 |
SQLSRV_LOG_SEVERITY_ERROR (1) |
指定将错误记入日志。 |
SQLSRV_LOG_SEVERITY_NOTICE (4) |
指定将通知记入日志。 |
SQLSRV_LOG_SEVERITY_WARNING (2) |
指定将警告记入日志。 |
下表中列出了可用于确定某列是否可为 Null 或是否提供此信息的常量。您可以比较 sqlsrv_field_metadata 返回的 Nullable 键的值,以确定该列的状态是否可为空。
SQLSRV 常量(括号中为等效整数) | 说明 |
---|---|
SQLSRV_NULLABLE_YES (0) |
此列可为 Null。 |
SQLSRV_NULLABLE_NO (1) |
此列不可为 Null。 |
SQLSRV_NULLABLE_UNKNOWN (2) |
不确定此列是否可为 Null。 |
下面的列表包含用于在调用 sqlsrv_query 或 sqlsrv_prepare 时指定参数方向的常量。
SQLSRV 常量 | 说明 |
---|---|
SQLSRV_PARAM_IN |
表示输入参数。 |
SQLSRV_PARAM_INOUT |
表示双向参数。 |
SQLSRV_PARAM_OUT |
表示输出参数。 |
下表列出了用于描述 PHP 数据类型的常量。有关 PHP 数据类型的信息,请参阅 PHP Types(PHP 数据类型)。
SQLSRV 常量 | PHP 数据类型 |
---|---|
SQLSRV_PHPTYPE_INT |
Integer |
SQLSRV_PHPTYPE_DATETIME |
Datetime |
SQLSRV_PHPTYPE_FLOAT |
Float |
SQLSRV_PHPTYPE_STREAM(<编码>1) |
Stream |
SQLSRV_PHPTYPE_STRING(<编码>1) |
String |
1. SQLSRV_PHPTYPE_STREAM 和 SQLSRV_PHPTYPE_STRING 接受指定流编码的参数。下表包含作为可接受参数的 SQLSRV 常量以及对相应编码的说明。
SQLSRV 常量 | 说明 |
---|---|
SQLSRV_ENC_BINARY |
数据以原始字节流的形式从服务器返回,而不执行编码或转换。 |
SQLSRV_ENC_CHAR |
数据以在系统中设置的 Windows 区域设置的代码页中指定的 8 位字符的形式返回。任何多字节字符或未映射到此代码页中的字符将用单字节问号 (?) 字符替换。 |
"UTF-8" |
数据在 UTF-8 编码中返回。在 SQL Server Driver for PHP 的 1.1 版中添加了此常量。有关 UTF-8 支持的详细信息,请参阅如何使用内置的 UTF-8 支持发送和检索 UTF-8 数据。 |
![]() |
---|
使用 SQLSRV_PHPTYPE_STREAM 或 SQLSRV_PHPTYPE_STRING 时,必须指定编码格式。如果未提供参数,则会返回错误。
|
有关这些常量的详细信息,请参阅如何指定 PHP 数据类型和如何以流的形式检索字符数据。
下表列出了用于描述 SQL Server 数据类型的常量。某些常量需要对应于精度、小数位数和/或长度的参数。有关默认 SQL Server 数据类型的信息,请参阅数据类型 (Transact-SQL)。有关精度、小数位数和长度的信息,请参阅精度、小数位数和长度 (Transact-SQL)。
SQLSRV 常量 | SQL Server 数据类型 |
---|---|
SQLSRV_SQLTYPE_BIGINT |
bigint |
SQLSRV_SQLTYPE_BINARY |
binary |
SQLSRV_SQLTYPE_BIT |
bit |
SQLSRV_SQLTYPE_CHAR($charCount) |
char |
SQLSRV_SQLTYPE_DATE |
date4 |
SQLSRV_SQLTYPE_DATETIME |
datetime |
SQLSRV_SQLTYPE_DATETIME2 |
datetime24 |
SQLSRV_SQLTYPE_DATETIMEOFFSET |
datetimeoffset4 |
SQLSRV_SQLTYPE_DECIMAL($precision,$scale) |
decimal |
SQLSRV_SQLTYPE_FLOAT |
float |
SQLSRV_SQLTYPE_IMAGE |
image1 |
SQLSRV_SQLTYPE_INT |
int |
SQLSRV_SQLTYPE_MONEY |
money |
SQLSRV_SQLTYPE_NCHAR($charCount) |
nchar |
SQLSRV_SQLTYPE_NUMERIC($precision,$scale) |
numeric |
SQLSRV_SQLTYPE_NVARCHAR($charCount) |
nvarchar |
SQLSRV_SQLTYPE_NVARCHAR('max') |
nvarchar(MAX) |
SQLSRV_SQLTYPE_NTEXT |
ntext2 |
SQLSRV_SQLTYPE_REAL |
real |
SQLSRV_SQLTYPE_SMALLDATETIME |
smalldatetime |
SQLSRV_SQLTYPE_SMALLINT |
smallint |
SQLSRV_SQLTYPE_SMALLMONEY |
smallmoney |
SQLSRV_SQLTYPE_TEXT |
text3 |
SQLSRV_SQLTYPE_TIME |
time4 |
SQLSRV_SQLTYPE_TIMESTAMP |
timestamp |
SQLSRV_SQLTYPE_TINYINT |
tinyint |
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER |
uniqueidentifier |
SQLSRV_SQLTYPE_UDT |
UDT |
SQLSRV_SQLTYPE_VARBINARY($byteCount) |
varbinary |
SQLSRV_SQLTYPE_VARBINARY('max') |
varbinary(MAX) |
SQLSRV_SQLTYPE_VARCHAR($charCount) |
varchar |
SQLSRV_SQLTYPE_VARCHAR('max') |
varchar(MAX) |
SQLSRV_SQLTYPE_XML |
xml |
-
此为映射到 varbinary(max) 类型的旧类型。
-
此为映射到较新 nvarchar 类型的旧类型。
-
此为映射到较新 varchar 类型的旧类型。
-
在 SQL Server Driver for PHP 的 1.1 版中添加了对此类型的支持。
下表列出了接受参数的 SQLTYPE 常量以及参数允许的值范围。
SQLTYPE | 参数 | 参数的允许范围 |
---|---|---|
SQLSRV_SQLTYPE_CHAR, SQLSRV_SQLTYPE_VARCHAR |
charCount |
1 - 8000 |
SQLSRV_SQLTYPE_NCHAR, SQLSRV_SQLTYPE_NVARCHAR |
charCount |
1 - 4000 |
SQLSRV_SQLTYPE_BINARY, SQLSRV_SQLTYPE_VARBINARY |
byteCount |
1 - 8000 |
SQLSRV_SQLTYPE_DECIMAL, SQLSRV_SQLTYPE_NUMERIC |
precision |
1 - 38 |
SQLSRV_SQLTYPE_DECIMAL, SQLSRV_SQLTYPE_NUMERIC |
scale |
1 - precision |
用于 sqlsrv_connect 的 TransactionIsolation 键接受以下常量之一:
-
SQLSRV_TXN_READ_UNCOMMITTED
-
SQLSRV_TXN_READ_COMMITTED
-
SQLSRV_TXN_REPEATABLE_READ
-
SQLSRV_TXN_SNAPSHOT
-
SQLSRV_TXN_SERIALIZABLE
下面的常量指定可用于结果集的游标的类型:
-
SQLSRV_CURSOR_FORWARD
-
SQLSRV_CURSOR_STATIC
-
SQLSRV_CURSOR_DYNAMIC
-
SQLSRV_CURSOR_KEYSET
下面的常量指定要在结果集中选择的行:
-
SQLSRV_SCROLL_NEXT
-
SQLSRV_SCROLL_PRIOR
-
SQLSRV_SCROLL_FIRST
-
SQLSRV_SCROLL_LAST
-
SQLSRV_SCROLL_ABSOLUTE
-
SQLSRV_SCROLL_RELATIVE
有关如何使用这些常量的信息,请参阅指定游标类型和选择行。