PHP4手册:函数库及函数(三十一) SQL Server 资料库函式库


--------------------------------------------------------------------------------
SQL Server 资料库函式库
--------------------------------------------------------------------------------
本函式库共有 16 个函式
SQL Server 是 Microsoft 从 SyBASE 取得并修改的资料库系统,它只能在 Windows NT Server 上面执行。使用本函式只能使用 Windows NT Server 作为 PHP 的执行平台。
Microsoft SQL Server 的 query 语法为 Transact-SQL,和 SyBASE 的语法几乎相同。本资料库可能是所有 PHP 所支援资料库中,中文书籍最多的资料库了。
mssql_affected_rows: 取得最后 query 影响的列数。
mssql_close: 关闭与资料库的连线。
mssql_connect: 连上资料库。
mssql_data_seek: 移动列指标。
mssql_fetch_array: 传回阵列资料。
mssql_fetch_field: 取得栏位资讯。
mssql_fetch_object: 传回物件资料。
mssql_fetch_row: 传回单列的各栏位。
mssql_field_seek: 设定指标到传回值的某栏位。
mssql_free_result: 释放传回占用记忆体。
mssql_num_fields: 取得传回栏位的数目。
mssql_num_rows: 取得传回列的数目。
mssql_pconnect: 开启 MS SQL 伺服器长期连线。
mssql_query: 送出一个 query 字串。
mssql_result: 取得查询 (query) 的结果。
mssql_select_db: 选择一个资料库。
--------------------------------------------------------------------------------
函式:mssql_affected_rows()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_affected_rows
取得最后 query 影响的列数。
语法: int mssql_affected_rows(int [link_identifier]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式用来取得最后一次对资料库下 query 指令所影响的列数,会影响的为 INSERT、UPDATE 或 DELETE 等指令,而 SELECT 不会影响。参数 link_identifier 可省略,为开启资料库的连线代号。传回值即为列数。
--------------------------------------------------------------------------------
函式:mssql_close()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_close
关闭与资料库的连线。
语法: boolean mssql_close(int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来关闭与 MS SQL Server 资料库的连线,能关闭的为使用 mssql_connect() 函式开启的资料库,若使用 mssql_pconnect() 开启的资料库则不能以本函式关闭。参数 link_identifier 可省略,为开启资料库的连线代号。关闭成功则传回 true 值。
参考
mssql_connect() mssql_pconnect()
--------------------------------------------------------------------------------
函式:mssql_connect()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_connect
连上资料库。
语法: int mssql_connect(string [servername], string [username], string [password]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式用来开启与 MS SQL Server 资料库的连线。参数 servername 为欲连上的资料库伺服器名称。参数 username 及 password 可省略,分别为连线使用的帐号及密码。使用本函式需注意早点关闭资料库,以减少系统的负担。连线成功则传回资料库的连线代号,失败传回 false 值。
参考
mssql_close() mssql_pconnect()
--------------------------------------------------------------------------------
函式:mssql_data_seek()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_data_seek
移动列指标。
语法: boolean mssql_data_seek(int result_identifier, int row_number);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式用来移动 MS SQL Server 资料表中的列指标到指定的列上,可供 mssql_fetch_row() 等函式使用。参数 result_identifier 为查询的代号值。参数 row_number 则为欲移往的列数。若失败则传回 false 值。
参考
mssql_close() mssql_pconnect()
--------------------------------------------------------------------------------
函式:mssql_fetch_array()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_fetch_array
传回阵列资料。
语法: array mssql_fetch_array(int result);
传回值: 阵列
函式种类: 资料库功能
内容说明
本函式用来将查询结果 result 拆到阵列变数中。若 result 没有资料,则传回 false 值。而本函式可以说是 mssql_fetch_row() 的加强函式,除可以将传回列及数字索引放入阵列之外,还可以将文字索引放入阵列中。
--------------------------------------------------------------------------------
函式:mssql_fetch_field()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_fetch_field
取得栏位资讯。
语法: object mssql_fetch_field(int result, int field_offset);
传回值: 物件
函式种类: 资料库功能
内容说明
本函式传回的物件资料为 result 的栏位 (Column) 资讯。传回物件的属性如下:
name - 栏位名称
column_source -栏位所在表格的资料表名称
max_length - 栏位的最大长度
numeric - 若为 1 表示本栏位为数字型态 (numeric)
参考
mssql_field_seek()
--------------------------------------------------------------------------------
函式:mssql_fetch_object()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_fetch_object
传回物件资料。
语法: object mssql_fetch_object(int result);
传回值: 物件
函式种类: 资料库功能
内容说明
本函式用来将查询结果 result 拆到物件变数中。使用方法和 mssql_fetch_array() 几乎相同,不同的地方在于本函式传回资料是物件而不是阵列。若 result 没有资料,则传回 false 值。另外值得注意的地方是,取回的物件资料的索引只能是文字而不能用数字,这是因为物件的特性。物件资料的特性中所有的属性 (property) 名称都不能是数字,因此只好乖乖使用文字字串当索引了。关于速度方面,本函式的处理速度几乎和 mssql_fetch_array() 及 mssql_fetch_row() 二函式差不多,要用哪个函式还是看使用的需求决定。
参考
mssql_fetch_array() mssql_fetch_row()
--------------------------------------------------------------------------------
函式:mssql_fetch_row()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_fetch_row
传回单列的各栏位。
语法: array mssql_fetch_row(int result);
传回值: 阵列
函式种类: 资料库功能
内容说明
本函式用来将查询结果 result 之单列拆到阵列变数中。阵列的索引是数字索引,第一个的索引值是 0。若 result 没有资料,则传回 false 值。
参考
mssql_fetch_array() mssql_fetch_object() mssql_data_seek() mssql_result()
--------------------------------------------------------------------------------
函式:mssql_field_seek()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_field_seek
设定指标到传回值的某栏位。
语法: int mssql_field_seek(int result, int field_offset);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式设定目前的指标到传回值的特定栏位中。参数 result 为传回值代码。参数 field_offset 则为指定的栏位序数。
使用范例
mssql_fetch_field
--------------------------------------------------------------------------------
函式:mssql_free_result()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_free_result
释放传回占用记忆体。
语法: int mssql_free_result(int result);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以释放目前 MS SQL Server 资料库 query 传回所占用的记忆体。一般只有在非常担心在记忆体的使用上可能会不足的情形下才会用本函式。PHP 程式会在结束时自动释放。
--------------------------------------------------------------------------------
函式:mssql_num_fields()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_num_fields
取得传回栏位的数目。
语法: int mssql_num_fields(int result);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回栏位的数目。参数 result 为传回值代码。
参考
mssql_query() mssql_fetch_field() mssql_num_rows()
--------------------------------------------------------------------------------
函式:mssql_num_rows()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_num_rows
取得传回列的数目。
语法: int mssql_num_rows(int result);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式可以得到传回列的数目。参数 result 为传回值代码。
参考
mssql_query() mssql_fetch_field() mssql_num_fields()
--------------------------------------------------------------------------------
函式:mssql_pconnect()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_pconnect
开启 MS SQL 伺服器长期连线。
语法: int mssql_pconnect(string [servername], string [username], string [password]);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式和 mssql_connect() 雷同。不同的地方在于使用本函式开启资料库时,程式会先寻找是否曾经执行过本函式,若执行过则传回先前执行的 ID。另一个不同的地方是本函式无法使用 mssql_close() 关闭资料库。参数 servername 为欲连上的资料库伺服器名称。参数 username 及 password 可省略,分别为连线使用的帐号及密码
--------------------------------------------------------------------------------
函式:mssql_query()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_query
送出一个 query 字串。
语法: boolean mssql_query(string query, int plink_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式送出 query 字串供 MS SQL Server 做相关的处理或者执行。若没有指定 link_identifier 参数,则程式会自动寻找最近开启的 ID。成功则传回 true 值。
--------------------------------------------------------------------------------
函式:mssql_result()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_result
取得查询 (query) 的结果。
语法: int mssql_result(int result, int row, mixed field);
传回值: 整数
函式种类: 资料库功能
内容说明
本函式取得一格 query 的结果。参数 field 可以是栏位名称、顺序或者是 fieldname.tablename 的格式。在传回资料量少时,可以使用本函式来处理。当资料库大时,本函式的效率就有待考量了,这时可以使用较有效率的 mssql_fetch_row()、mssql_fetch_array() 或 mssql_fetch_object() 等函式。
--------------------------------------------------------------------------------
函式:mssql_select_db()
--------------------------------------------------------------------------------
SQL Server 资料库函式库
mssql_select_db
选择一个资料库。
语法: boolean mssql_select_db(string database_name, int [link_identifier]);
传回值: 布林值
函式种类: 资料库功能
内容说明
本函式选择 MS SQL Server 中的资料库以供之后的资料查询作业 (query) 处理。成功传回 true,失败则传回 false。