目前支持的 Informix 版本为 ODS 7.x、SE 7.x 与 Universal Server (IUS) 9.x 三种。在 ODS 7.x 的版本中,完全支持所有的资料类型,而在 IUS 9.x 中,不支持 SLOB 与 CLOB 二种类型。
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(string [database], string [userid], string [password]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数建立与 Informix 服务器的连接。其中所有的参数都可省略。若全部参数都省略时,使用系统的 php3.ini 或是 php.ini (视 PHP 版本决定) 中 ifx.default_host 指定的机器,或是环境变量 $INFORMIXSERVER;ifx.default_user 为用户帐号;ifx.default_password 为用户密码。而参数 database、userid 及 password 分别为数据库的名字、登入帐号及使用密码。当然,在使用本函数之后,尽早使用 ifx_close() 关闭 Informix 数据库比较好。连接成功则返回连接代码,失败则返回 false 值。
使用范例
本例只有连上数据库,什么事都没做。
<?php
$conn_id = ifx_pconnect("mydb@ol_srv1", "imyself", "mypassword");
ifx_close($conn_id);
?>
参考: ifx_pconnect() ifx_close()
ifx_pconnect
打开 Informix 服务器持续连接。
语法: int ifx_pconnect(string [database], string [userid], string [password]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数与 ifx_connect() 很类似。不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。另一个不同的地方是本函数无法使用 ifx_close() 关闭数据库。
参考 ifx_connect() ifx_close()
ifx_close
关闭 Informix 服务器连接。
语法: boolean ifx_close(int [link_identifier]);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数关闭与 Informix 数据库服务器的连接。若无指定参数 link_identifier 则会关闭最后的一笔连接。用 ifx_pconnect() 连接则无法使用本函数关闭。本函数可以省略,当 PHP 整页程序结束后,将会自动关闭与数据库的非永久性 (non-persistent) 连接。返回值均为 true。
ifx_query
送出一个 query 字符串。
语法: int ifx_query(string query, int [link_identifier], int [cursor_type], mixed [blobidarray]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数送出 query 字符串供 Informix 做相关的处理步骤。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。参数 cursor_type 可省略,其值有 IFX_SCROLL 与 IFX_HOLD 二种。若有 BLOB 的字段要加在 query 指令之中,可使用 blobidarray 参数,指定 BLOB 的代码。
使用范例
例一:
<?php
// 之前的程序省略
ifx_textasvarchar(1); // 使用文字模式 (text mode) 的 blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
printf("无法取出 orders 资料表 : %s\n<br>%s<br>\n", ifx_error());
ifx_errormsg();
die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
// 之后的程序省略
?>
例二:
<?php
// 之前的程序省略
//
// 为二进位及文字建立 BLOB 代码
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");
$blobidarray[] = $textid;
$blobidarray[] = $byteid;
$query = "insert into catalog (stock_num, manu_code, " ."cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
// 错误处理
}
ifx_free_result($res_id);
// 之后程序省略
?>
ifx_prepare
准备 query 字符串。
语法: int ifx_prepare(string query, int link_identifier, int [cursor_type], mixed blobidarray);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数准备 query 字符串供 Informix
更多内容请看PCdog.com--数据库相关文章专题
