隐藏

SQLSRV 常量

发布:2014/7/8 23:42:16作者:管理员 来源:本站 浏览次数:1429

本主题列出了 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 数据

Cc296183.note(zh-cn,SQL.90).gif注意:
使用 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

  1. 此为映射到 varbinary(max) 类型的旧类型。
  2. 此为映射到较新 nvarchar 类型的旧类型。
  3. 此为映射到较新 varchar 类型的旧类型。
  4. 在 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

有关如何使用这些常量的信息,请参阅指定游标类型和选择行