### PHP3 的 MicrosoftSQL 数据库函数

PHP3 的 MicrosoftSQL 数据库函数
PHP3 强大的数据库功能除了提供通过 ODBC 访问数据库的方式之外，还提供了对目前主流数据库的直接访问支持。下面，我们就来介绍一下 PHP3 中的 MSSQL 函数。
在 PHP3 脚本中调用 MSSQL 函数
默认情况下，PHP3 把对 Microsoft SQL 数据库的支持作为附加模块。因此，用户如果希望在自己编写的 PHP 代码中使用 MSSQL 函数的话，应当首先启动 PHP 对 MSSQL 函数的支持功能。具体为，打开 php3.ini 文件，找到“Dynamic Extensions”条目下的“extension=php3_mssql.dll”一项，然后取消该项前面起屏蔽作用的“；”符号即可。
由于对 Microsoft SQL 数据库的支持属于 PHP 的扩展功能，因此，用户应当在将要调用 MSSQL 函数的代码开头处加入如下一行代码：
dl (“php3_mssql.dll”);
mssql_connect
功能：建立与 MS SQL 服务器的连接。
格式：mssql_connect (MS SQL 服务器名称, 用户名, 用户口令);
返回值：成功返回与 MS SQL 服务器的连接标识。
简介：mssql_connect()函数用来建立与目标 MS SQL 服务器的连接。其中的服务器参数名称应当为有效的 MS SQL 服务器名称。使用 mssql_connect()函数建立起来的连接在 PHP3 脚本执行完毕之后将自动关闭，或者可以调用 mssql_close()函数手动关闭。
mssql_pconnect
功能：建立与 MS SQL 服务器的永久性连接。
格式：mssql_pconnect (MS SQL 服务器名称, 用户名, 用户口令);
返回值：成功返回与 MS SQL 服务器的永久性连接标识。
简介：mssql_pconnect()函数与 mssql_connect()函数的功能非常相似，最主要的不同在于 mssql_pconnect()函数与 MS SQL 服务器建立的是永久性的连接，该连接不会随 PHP3 代码执行结束而关闭，而且使用 mssql_close()函数也无法强制关闭永久性连接。
mssql_close
功能：关闭与 MS SQL 服务器的连接。
格式：mssql_close (连接标识);
返回值：成功返回 true，失败返回 false。
简介：mssql_close()函数用于关闭指定连接标识对应的与 MS SQL 服务器建立的连接。如果在 mssql_close()函数中没有指明连接标识，则关闭最后建立的连接。
注意：PHP3 并不要求明确使用 mssql_close()函数，因为非永久性连接在 PHP3 代码执行完毕之后将会自动关闭。
mssql_close()函数无法关闭使用 mssql_pconnect()函数建立的永久性连接。
mssql_select_db
功能：选择 MS SQL 数据库。
格式：mssql_select_db (数据库名称, 连接标识);
返回值：成功返回 true，失败返回 false。
简介：mssql_select_db()函数用于设定由指定连接标识对应的服务器上的当前活动数据库。如果不具体指名连接标识，mssql_select_db()函数将默认使用最后建立的服务器连接。
mssql_query
功能：向 MS SQL 服务器传送 SQL 命令。
格式：mssql_query (查询语句, 连接标识);
返回值：成功返回查询结果标识，失败返回 false。
简介：mssql_query()函数用于向指定连接标识所对应的服务器上的当前活动数据库传送 SQL 命令。如果不具体指明连接标识，mssql_query()函数将自动使用最后建立的连接。
mssql_num_rows
功能：获取查询结果中的记录条数。
格式：mssql_num_rows (查询结果标识);
返回值：查询结果中的记录数目。
mssql_data_seek
功能：移动内部记录指针。
格式：mssql_data_seek (查询结果标识, 行);
返回值：成功返回 true，失败返回 false。
简介：mssql_data_seek()函数用来移动指定查询结果标识所对应的查询结果中的内部行指针到指定行。
mssql_fetch_row
功能：以数字索引数组的形式取得查询结果数据。
格式：mssql_fetch_row (查询结果标识);
返回值：成功返回与查询结果中的每行数据相对应的数组，失败返回 false。
简介：mssql_fetch_row()函数用来取得指定查询结果标识所对应的结果数据。每一行数据将会以数组的形式保存，其中每一列数据都被保存在数组的一个元素中，数组位移从 0 开始。
注意：每一次调用 mssql_fetch_rows()函数都会返回下一行的新记录，直到返回全部数据行。
mssql_fetch_array
功能：以数组形式取得查询结果数据。
格式：mssql_fetch_array (查询结果标识);
返回值：成功返回与查询结果中的每行数据相对应的数组，失败返回 false。
简介：mssql_fetch_array()函数是对 mssql_fetch_rows()函数的扩展。除了能够把查询结果保存在数字索引的数组中外，mssql_fetch_array()函数还可以把数据保存在关联索引中，即使用字段名作为索引关键字。
注意：mssql_fetch_array()函数的执行速度并不低于 mssql_fetch_row()函数，而且可以提供很重要的扩展功能，因此建议用户可以使用 mssql_fetch_array()函数来代替 mssql_fetch_row()函数。
mssql_fetch_object
功能：以对象形式取得查询结果数据。
格式：mssql_fetch_object (查询结果标识);
返回值：成功返回属性与查询结果数据相对应的对象，失败返回 false。
简介：mssql_fetch_object()函数的作用与 mssql_fetch_array()函数类似，唯一不同在于使用 mssql_fetch_object()函数得到的将是对象而非数组。这样，用户就只能使用字段名而非字段位移来获得对象中的数据。
注意：mssql_fetch_object()函数的执行速度与 mssql_fetch_array()函数相同，因此与 mssql_fetch_row()函数的执行速度没有太大区别。
mssql_num_fields
功能：获取查询结果中的字段数。
格式：mssql_num_fields (查询结果标识);
返回值：返回查询结果中的字段数。
mssql_field_seek
功能：设定字段位移。
格式：mssql_field_seek (查询结果标识, 字段位移);
功能：查找指定位移的字段。
mssql_fetch_field
功能：获取字段信息。
格式：mssql_fetch_field (查询结果标识, 字段位移);
返回值：返回包含字段信息的对象。
简介：mssql_fetch_field()函数可以被用来获取指定查询结果中的字段信息。如果不具体指明字段位移，mssql_fetch_field()将自动返回下一个新的字段的信息。
mssql_fetch_field()函数返回结果对象的属性包括：
name：字段名称。
column_source：字段所在的数据库表格。
max_length：字段的最大长度。
Numeric：如果字段为数字类型则该属性值为 1。
mssql_result
功能：获取具体查询结果数据。
格式：mssql_result (查询结果标识, 行, 字段);
返回值：返回查询结果中位于指定行和字段的单元格数据。
简介：mssql_result()用来获取查询结果中的单元格数据。其中的字段参数可以使用字段位移或字段名。如果字段名称使用了别名，例如：“select first_name as name from...”，则应当在 mssql_result()函数的字段参数中也使用同样的别名。
注意：当用户的工作涉及到大量的查询结果时，应当考虑使用可以取得整行数据的函数。因为这些函数可以在一次调用的过程中获取多个单元格信息，所以执行速度要比使用 mssql_result()函数快许多。另外，用户应当注意在调用函数时，指定字段的数字位移的执行速度要远远快于指定字段名称的执行速度。建议用户在使用过程中多采用执行速度更快的 mssql_fetch_row()，mssql_fetch_array()，以及 mssql_fetch_object()函数。
mssql_free_result
功能：清空查询结果所占用的内存资源。
格式：mssql_free_result (查询结果标识);
简介：如果用户担心 PHP3 代码在执行过程中占用过多内存资源的话，可以使用 mssql_free_result()函数来清空指定查询结果标识所对应的查询结果所占用的系统内存。如果没有具体指明查询结果标识，所有查询结果占用的内存资源都将被全部清空。