rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 数据库 » Informix

Informix数据库函数库

目前支持的 Informix 版本为 ODS 7.x、SE 7.x 与 Universal Server9.x 三种。在 ODS 7.x 的版本中,完全支持所有的资料类型,而在 IUS 9.x 中,不支持 SLOB 与 CLOB 二种类型。

要 在 Web Server 上安装 Informix Client 端,在编译 PHP 之前 ,要先设好 IFX_LIBDIR、IFX_LIBS 及 IFX_INCDIR 三种环境变量,若是 9.x 版尚要配置 HAVE_IFX_IUS 环境变量。同时在配置时要加入 with_informix=yes 的选项。

ifx_connect: 打开 Informix 器连接。

ifx_pconnect: 打开 Informix 器持续连接。

ifx_close: 关闭 Informix 器连接。

ifx_query: 送出一个 query 字符串。

ifx_prepare: 准备 query 字符串。

ifx_do: 执行已准备 query 字符串。

ifx_error: 取得 Informix 最后的错误。

ifx_errormsg: 取得 Informix 最后错误信息。

ifx_affected_rows: 得到 Informix 最后操作影响的列数目。

ifx_getsqlca: 取得 query 后的 sqlca 信息。

ifx_fetch_row: 返回单列的各字段。

ifx_htmltbl_result: 将 query 返回资料转成 HTML 表格。

ifx_fieldtypes: 列出 Informix 的 SQL 字段。

ifx_fieldproperties: 列出 Informix 的 SQL 字段属性。

ifx_num_fields: 取得返回字段的数目。

ifx_num_rows: 取得返回列的数目。

ifx_free_result: 释放返回占用内存。

ifx_create_char: 建立字符类。

ifx_free_char: 删除字符类。

ifx_update_char: 更改字符类。

ifx_get_char: 取得字符类。

ifx_create_blob: 建立长位类。

ifx_copy_blob: 复制长位类。

ifx_free_blob: 删除长位类。

ifx_get_blob: 取得长位类。

ifx_update_blob: 更改长位类。

ifx_blobinfile_mode: 配置长位类模式。

ifx_textasvarchar: 配置文字模式默认值。

ifx_byteasvarchar: 配置位组模式默认值。

ifx_nullformat: 配置空字符模式默认值。

ifxus_create_slob: 建立 slob 类。

ifx_free_slob: 删除 slob 类。

ifxus_close_slob: 删除 slob 类。

ifxus_open_slob: 打开 slob 类。

ifxus_tell_slob: 返回目前文件或找寻位置。

ifxus_seek_slob: 配置目前文件或找寻位置。

ifxus_read_slob: 读取指定数目的 slob 类。

ifxus_write_slob: 将字符串写入 slob 类中。

ifx_connect

打开 Informix 器连接。

语法: int ifx_connect;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数建立与 Informix 器的连接。其中所有的参数都可省略。若全部参数都省略时,使用系统的 php3.ini 或是 php.ini中 ifx.default_host 指定的机器,或是环境变量 $INFORMIXSERVER;ifx.default_user 为用户;ifx.default_password 为用户密码。而参数 database、userid 及 password 分别为库的名字、登入及使用密码。当然,在使用本函数之后,尽早使用 ifx_close 关闭 Informix 库比较好。连接成功则返回连接代码,失败则返回 false 值。

使用范例

本例只有连上库,什么事都没做。

?php

$conn_id = ifx_pconnect;

ifx_close;

参考: ifx_pconnect ifx_close

ifx_pconnect

打开 Informix 器持续连接。

语法: int ifx_pconnect;

返回值: 整数

函数种类: 库功能

内容说明: 本函数与 ifx_connect 很类似。不同的地方在于使用本函数打开库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。另一个不同的地方是本函数无法使用 ifx_close 关闭库。

参考 ifx_connect ifx_close

ifx_close

关闭 Informix 器连接。

语法: boolean ifx_close;

返回值: 布尔值

函数种类: 库功能

内 容说明: 本函数关闭与 Informix 库器的连接。若无指定参数 link_identifier 则会关闭最后的一笔连接。用 ifx_pconnect 连接则无法使用本函数关闭。本函数可以省略,当 PHP 整页程序结束后,将会关闭与库的非永久性连接。返回值均为 true。

ifx_query

送出一个 query 字符串。

语法: int ifx_query;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数送出 query 字符串供 Informix 做相关的处理步骤。若没有指定 link_identifier 参数,则程序会寻找最近打开的 ID。参数 cursor_type 可省略,其值有 IFX_SCROLL 与 IFX_HOLD 二种。若有 BLOB 的字段要加在 query 指令之中,可使用 blobidarray 参数,指定 BLOB 的代码。

使用范例

例一:

?php

之前的程序省略

ifx_textasvarchar; 使用文字模式的 blobs

$res_id = ifx_query;

if{

printf);

ifx_errormsg;

die;

ifx_htmltbl_result;

ifx_free_result;

之后的程序省略

例二:

?php

之前的程序省略

为二进位及文字建立 BLOB 代码

$textid = ifx_create_blob;

$byteid = ifx_create_blob;

$blobidarray[] = $textid;

$blobidarray[] = $byteid;

$query = "insert into catalogvalues";

$res_id = ifx_query;

if{

错误处理

ifx_free_result;

之后程序省略

?

ifx_prepare

准备 query 字符串。

语法: int ifx_prepare;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数准备 query 字符串供 Informix 接着做相关的处理。若没有指定 link_identifier 参数,则程序会寻找最近打开的 ID。参数 cursor_type 可省略,其值有 IFX_SCROLL 与 IFX_HOLD 二种。若有 BLOB 的字段要加在 query 指令之中,可使用 blobidarray 参数,指定 BLOB 的代码。返回值可供 ifx_do 使用。

ifx_do

执行已准备 query 字符串。

语法: boolean ifx_do;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来执行已经由 ifx_prepare 函数所准备的字符串。参数 result_id 即为 ifx_prepare 所返回的待执行代码。成功则返回 true,失败返回 false 值。

ifx_error

取得 Informix 最后的错误。

语法: string ifx_error;

返回值: 字符串

函数种类: 库功能

内容说明: 本函数用来取得 Informix 库最后的错误信息,本函数无须加入任何参数。返回的字符串如以下的格式

X [SQLSTATE=aa bbb SQLCODE=c]

其中的 X 代表错误信息的种类,见下粗体内容

至于 aa、bbb、c 表示数字资料,并分别为二位、三位及一位数。有关细节参考 Informix 手册中有关 SQLSTATE 与 SQLCODE 的信息。

参考: ifx_errormsg

ifx_errormsg

取得 Informix 最后错误信息。

语法: string ifx_errormsg;

返回值: 字符串

函数种类: 库功能

内容说明: 本函数用来取得 Informix 库最后的错误信息字符串。参数 errorcode 代表错误代码。

使用范例

本例为部份程序

?php

printf);

参考: ifx_error

ifx_affected_rows

得到 Informix 最后操作影响的列数目。

语法: int ifx_affected_rows;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数可得到 Informix 最后查询操作 INSERT、UPDATE 或 DELETE 所影响的列数目。若最后使用的是 SELECT,则用本函数得到的数目为估计值,而非精确的数目,欲得到 SELECT 返回的数目需使用 ifx_num_rows 函数。

使用范例

本例为部份程序

?php

$rid = ifx_prepare ;

if{

错误处理的部份

$rowcount = ifx_affected_rows ;

if{

printf ;

die ;

参考: ifx_num_rows

ifx_getsqlca

取得 query 后的 sqlca 信息。

语法: array ifx_getsqlca;

返回值: 数组

函数种类: 库功能

内 容说明: 本函数可得到 Informix 最后查询操作后的 sqlca 结构中的相关信息。参数 result_id 是经过 ifx_query 及 ifx_prepare 的返回代号。本函数返回的数组其实就是 sqlca.sqlerrd[0] 到 sqlca.sqlerrd 等六个元素的数组。

使用范例

下例为部份程序

?php

$qid = ifx_query;

if{

错误处理

$sqlca = ifx_getsqlca ;

$serial_value = $sqlca["sqlerrd1"];

echo "插入列序号为: " . $serial_valuebrn";

ifx_fetch_row

返回单列的各字段。

语法: array ifx_fetch_row;

返回值: 数组

函数种类: 库功能

内 容说明: 本函数用来将查询结果 result 之单列拆到数组变量中。数组的索引是数字索引,第一个的索引值是 0。若 result 没有资料,则返回 false 值。参数 position 可省略,是所谓的卷动游标 ,可能值为:NEXT、PREVIOUS、CURRENT、FIRST 或者 LAST;亦可能为数字,表示指定为第几列。

使用范例

以下的范例为连上 Informix 库后的步骤

?php

$rid = ifx_prepare;

if{

错误处理

$rowcount = ifx_affected_rows;

if{

printf ;

die ;

if ) {

错误处理

$row = ifx_fetch_row;

while ) {

for; $fieldname=key; next) {

$fieldvalue = $row[$fieldname];

printf;

printf;

$row = ifx_fetch_row;

ifx_free_result;

?

ifx_htmltbl_result

将 query 返回资料转成 HTML 表格。

语法: int ifx_htmltbl_result;

返回值: 整数

函数种类: 库功能

内容说明

本函数用来将 query 查询结果格式化成 HTML 标记格式的表格形式。参数 html_table_options 可省略,为 table 标记中的参数选项。成功则返回列数,失败则返回 false 值。

使用范例

以下的范例中,table 标记的参数设表格边宽为 2。

?php

$rid = ifx_prepare;

if{

错误处理

$rowcount = ifx_affected_rows;

if{

printf ;

die ;

if{

错误处理

ifx_htmltbl_result;

ifx_free_result;

ifx_fieldtypes

列出 Informix 的 SQL 字段。

语法: array ifx_fieldtypes;

返回值: 数组

函数种类: 库功能

内容说明

本函数可以获得 Informix 的 SQL 指令返回的字段。参数 result_id 是经过 ifx_query 或 ifx_prepare 的返回代号。

使用范例

本例为程序的一部份

?php

$types = ifx_fieldtypes;

if ) {

错误处理

for ; $i++) {

$fname = key;

printf;

next;

ifx_fieldproperties

列出 Informix 的 SQL 字段属性。

语法: array ifx_fieldproperties;

返回值: 数组

函数种类: 库功能

内容说明

本函数可以获得 Informix 的 SQL 指令返回字段的属性。参数 result_id 是经过 ifx_query 或 ifx_prepare 的返回代号。

使用范例

本例为程序的一部份

?php

$properties = ifx_fieldtypes;

if ) {

错误处理

for ; $i++) {

$fname = key;

printf;

next;

ifx_num_fields

取得返回字段的数目。

语法: int ifx_num_fields;

返回值: 整数

函数种类: 库功能

内容说明: 本函数可以得到返回字段的数目。参数 result_id 是经过 ifx_query 或 ifx_prepare 的返回代号。若发生错误则返回 false 值。

ifx_num_rows

取得返回列的数目。

语法: int ifx_num_rows;

返回值: 整数

函数种类: 库功能

内容说明: 本函数可以得到 Informix 库返回列的数目。参数 result_id 是经过 ifx_query 或 ifx_do 的返回代号。若发生错误则返回 false 值。

ifx_free_result

释放返回占用内存。

语法: boolean ifx_free_result;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数可以释放目前 Informix 库 query 返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数,因为 PHP 程序会在结束时释放。发生错误则返回 false 值。

ifx_create_char

建立字符类。

语法: int ifx_create_char;

返回值: 整数

函数种类: 库功能

内容说明: 本函数用来建立字符类。参数 param 为字符的内容。成功则返回字符的类代码,失败返回 false 值。

ifx_free_char

删除字符类。

语法: boolean ifx_free_char;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来删除字符类。参数 bid 为字符的类代码。执行成功则返回 true 值,失败返回 false 值。

ifx_update_char

更改字符类。

语法: boolean ifx_update_char;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来更改字符类。参数 bid 为字符的类代码。参数 content 为欲使用的新字符。执行成功则返回 true 值,失败返回 false 值。

ifx_get_char

取得字符类。

语法: string ifx_get_char;

返回值: 字符串

函数种类: 库功能

内容说明: 本函数用来取得字符类。参数 bid 为字符的类代码。返回值为字符的内容。

ifx_create_blob

建立长位类。

语法: int ifx_create_blob;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数用来建立长位类。参数 type 表示 blob 的类型,1 表文字资料;0 表位资料。参数 mode 为长位资料的存放处,0 表在内存;1 表在文件中。参数 param 为 blob 的内容,若 mode 为 0 则为内存指针;若 mode 为 1 则为文件名。成功则返回长位的类代码,失败返回 false 值。

ifx_copy_blob

复制长位类。

语法: int ifx_copy_blob;

返回值: 整数

函数种类: 库功能

内容说明: 本函数用来复制长位类。参数 bid 为 blob 类代码。成功则返回新的长位类代码,失败返回 false 值。

ifx_free_blob

删除长位类。

语法: boolean ifx_free_blob;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来删除长位类。参数 bid 为 blob 类代码。执行成功则返回 true 值,失败返回 false 值。

ifx_get_blob

取得长位类。

语法: string ifx_get_blob;

返回值: 字符串

函数种类: 库功能

内容说明: 本函数用来取得长位类。参数 bid 为长位的类代码。返回值为 blob 类的内容。

ifx_update_blob

更改长位类。

语法: boolean ifx_update_blob;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来更改长位类。参数 bid 为 blob 类代码。参数 content 为欲使用新的 blob 资料。执行成功则返回 true 值,失败返回 false 值。

ifx_blobinfile_mode

配置长位类模式。

语法: boolean ifx_blobinfile_mode;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来配置所有 select 的 SQL 指令用到的长位类模式默认值。参数 mode 的值为储存 blob 资料的地点, 0 表在内存;1 表在文件中。执行成功则返回 true 值,失败返回 false 值。

ifx_textasvarchar

配置文字模式默认值。

语法: boolean ifx_textasvarchar;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来配置所有 select 的 SQL 指令用到的文字类模式默认值。参数 mode 的值为 0 表返回 blob 的代码;1 表返回 varchar 字符串。执行成功则返回 true 值,失败返回 false 值。

ifx_byteasvarchar

配置位组模式默认值。

语法: boolean ifx_byteasvarchar;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来配置所有 select 的 SQL 指令用到的位组类模式默认值。参数 mode 的值为 0 表返回 blob 的代码;1 表返回 varchar 字符串。执行成功则返回 true 值,失败返回 false 值。

ifx_nullformat

配置空字符模式默认值。

语法: boolean ifx_nullformat;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来配置所有 select 的 SQL 指令用到的空字符类模式默认值。参数 mode 的值为 0 表返回 "" ;1 表返回 NULL 字符串。执行成功则返回 true 值,失败返回 false 值。

ifxus_create_slob

建立 slob 类。

语法: int ifxus_create_slob;

返回值: 整数

函数种类: 库功能

内容说明

本函数用来建立 slob 类。参数 mode 值如下表

当然也 mode 可以直接使用常量值,如 IFX_LO_RDONLY。若有需要,可使用数字相加,使 mode 值更有变化。成功则返回 slob 的类代码,失败返回 false 值。

ifx_free_slob

删除 slob 类。

语法: boolean ifxus_free_slob;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来删除 slob 类。参数 bid 为 slob 类代码。执行成功则返回 true 值,失败返回 false 值。

ifxus_close_slob

删除 slob 类。

语法: boolean ifxus_close_slob;

返回值: 布尔值

函数种类: 库功能

内容说明: 本函数用来删除 slob 类。参数 bid 为 slob 类代码。执行成功则返回 true 值,失败返回 false 值。

ifxus_open_slob

打开 slob 类。

语法: int ifxus_open_slob;

返回值: 整数

函数种类: 库功能

内容说明

本函数用来打开 slob 类。参数 bid 为 slob 类代码。参数 mode 值如下表

数值 常量

1 LO_RDONLY

2 LO_WRONLY

4 LO_APPEND

8 LO_RDWR

16 LO_BUFFER

32 LO_NOBUFFER

当然也 mode 可以直接使用常量值,如 IFX_LO_RDONLY。若有需要,可使用数字相加,使 mode 值更有变化。成功则返回 slob 的类代码,失败返回 false 值。

ifxus_tell_slob

返回目前文件或找寻位置。

语法: int ifxus_tell_slob;

返回值: 整数

函数种类: 库功能

内容说明: 本函数返回目前文件或者找寻文件的位置。参数 bid 为 slob 类代码。执行成功则返回代码值,失败返回 false 值。

ifxus_seek_slob

配置目前文件或找寻位置。

语法: int ifxus_seek_blob;

返回值: 整数

函数种类: 库功能

内 容说明: 本函数用来配置目前文件或找寻文件的位置。参数 bid 为 slob 类代码。参数 mode 的值0 表 LO_SEEK_SET、1 表 LO_SEEK_CUR、2 表 LO_SEEK_END。参数 offset 为位组偏移值。执行成功则返回代码值,失败返回 false 值。

ifxus_read_slob

读取指定数目的 slob 类。

语法: string ifxus_read_slob;

返回值: 字符串

函数种类: 库功能

内容说明: 本函数用来读取指定位数的 slob 类。参数 bid 为 slob 类代码。参数 nbytes 为位组数目。执行成功则返回 slob 部份字符串,失败返回 false 值。

ifxus_write_slob

将字符串写入 slob 类中。

语法: int ifxus_write_slob;

返回值: 整数

函数种类: 库功能

内容说明: 本函数将指定字符串写入 slob 类之中。参数 bid 为 slob 类代码。参数 content 为待写入字符串。执行成功则返回写入字符数,失败返回 false 值。

顶一下
(0)
踩一下
(0)