PHP 手册
后退 |  | 前进

# LXXV. Microsoft SQL Server Functions

# 简介

These functions allow you to access MS SQL Server database.

# 需求

Requirements for Win32 platforms.

The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying `ntwdblib.dll` from `\winnt\system32` on the server to `\winnt\system32` on the PHP box. Copying `ntwdblib.dll` will only provide access. Configuration of the client will require installation of all the tools.

Requirements for Unix/Linux platforms.

To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/

> 注: In Windows, the DBLIB from Microsoft is used. Functions that return a column name are based on the dbcolname() function in DBLIB. DBLIB was developed for SQL Server 6.x where the max identifier length is 30. For this reason, the maximum column length is 30 characters. On platforms where FreeTDS is used (Linux), this is not a problem.

# 安装

The MSSQL extension is enabled by adding extension=php_mssql.dll to `php.ini`.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib.

# 运行时配置

这些函数的行为受 `php.ini` 的影响。

表格 1. MS SQL Server configuration options

Name | Default | Changeable | Changelog
--- | --- | --- | ---
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
mssql.max_procs | "25" | PHP_INI_ALL | Available since PHP 4.3.0.

有关 PHP_INI_* 常量进一步的细节与定义参见附录 G。

# 资源类型

# 预定义常量

以下常量由本扩展模块定义，因此只有在本扩展模块被编译到 PHP 中，或者在运行时被动态加载后才有效。

`MSSQL_ASSOC` (integer)

`MSSQL_NUM` (integer)

`MSSQL_BOTH` (integer)

`SQLTEXT` (integer)

`SQLVARCHAR` (integer)

`SQLCHAR` (integer)

`SQLINT1` (integer)

`SQLINT2` (integer)

`SQLINT4` (integer)

`SQLBIT` (integer)

`SQLFLT8` (integer)

后退 | 起点 | 前进
PDO_DBLIB DSN | 上一级 | mssql_bind