日期:2011-04-09  浏览次数:20479 次


   要使用这个函数库,要在安装 PHP 及 Apache Server 之前先将 Oracle 数据库安装好,并确定 Oracle 能够顺利运作。之后在 PHP 配置 (configure) 时加入 --with-oracle=DIR 的选项,DIR 就是 $ORACLE_HOME 环境变量,例如:
   ./configure --with-oracle=/abc/def/oracle/product/7.0.3 --with-apache=../apache_1.3.x --enable-track-vars
   以下的范例是 stevel@nettek-llc.com (22-Jan-1999) 所提供的。这个范例是返回 Oracle 中 sid1 数据库 (Database) 的 EMP 资料表 (Table) 所有资料。帐号是 SCOTT、密码为 TIGER。
    <?php
putenv ( "ORACLE_SID=sid1" );
putenv ( "ORACLE_HOME=/u01/app/oracle/product/8.0.5" );
$handle = ora_plogon ( "SCOTT@sid1" , "TIGER" ) or die;
$cursor = ora_open ( $handle );
ora_commitoff ( $handle );
$query = "SELECT * FROM EMP" ;
ora_parse ( $cursor , $query ) or die;
ora_exec ( $cursor );
echo "<HTML><PRE>\n" ;
echo "$query \n\n " ;
$numcols = 0 ;
while( ora_fetch ( $cursor )) {
$numcols = ora_numcols ( $cursor );
for ( $column = 0 ; $column < $numcols ; $column ++) {
$data = trim ( ora_getcolumn ( $cursor , $column ));
if( $data == "" ) $data = "NULL" ;
echo "$data \t " ;
}
echo "\n" ;
}
$numrows = ora_numrows ( $cursor );
echo " \n ROWS RETURNED: $numrows \n " ;
echo "</PRE></HTML>\n" ;
ora_close ( $cursor );
?>
kk@shonline.de (05-Aug-1998) 指出 ORACLE_HOME 为 Oracle 的安装路径,ORACLE_SID 为 Oracle 的数据库名称,若不知道这二个环境变量可以用 sqlplus 连上 Oracle 来查证。

Ora_Bind: 链接 PHP 变量到 Oracle 参数。
Ora_Close: 关闭一个 Oracle 的 cursor。
Ora_ColumnName: 得到 Oracle 返回列 (Column) 的名称。
Ora_ColumnType: 得到 Oracle 返回列 (Column) 的类型。
Ora_Commit: 将 Oracle 的交易处理付诸实行。
Ora_CommitOff: 关闭自动执行 Oracle 交易改动的功能。
Ora_CommitOn: 打开自动执行 Oracle 交易改动的功能。
Ora_Error: 获得 Oracle 错误信息。
Ora_ErrorCode: 获得 Oracle 错误代码。
Ora_Exec: 执行 Oracle 的指令部分。
Ora_Fetch: 取得返回资料的一列 (row)。
Ora_GetColumn: 从返回列 (row) 的资料取得一栏 (column)。
Ora_Logoff: 结束与 Oracle 的链接。
Ora_Logon: 打开与 Oracle 的链接。
Ora_Open: 打开 Oracle 的 cursor。
Ora_Parse: 分析 SQL 语法。
Ora_Rollback: 撤消当前交易。
Ora_Do: 快速的 SQL 查询。
Ora_FetchInto: 取回 Oracle 资料放入数组。
Ora_ColumnSize: 取得字段类型的大小。
Ora_Numcols: 取得字段的数目。
Ora_PLogon: 打开与 Oracle 的长期链接。

Ora_Bind
链接 PHP 变量到 Oracle 参数。
语法: int ora_bind(int cursor, string PHP variable name, string SQL parameter name, int length, int [type]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数将 PHP 变量与 SQL 参数系结在一起。SQL 参数 (SQL parameter) 必须是类似 ":name" 的型式。语法中的 type 为可省略的参数选项,可以设成下面三种数字之一:0 为默认值,表输入/输出 (in/out);1 表输入 (in);2 表输出 (out)。在 PHP 3.0.1 版之后,亦可以使用下列常量代替 type 的三种数字值:ORA_BIND_INOUT、ORA_BIND_IN 或 ORA_BIND_OUT。重要的是本函数应是在 ora_parse() 之后与 ora_exec() 之前呼叫使用。若成功则返回 true,反之返回 false。要处理详细的错误信息可使用 ora_error() 及 ora_errorcode()。
使用范例