分享
 
 
 

Oracle 数据库函数库

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

要使用这个函数库,要在安装 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()。

使用范例

<?php

ora_parse($curs, "declare tmp INTEGER; begin tmp := :in; :out := tmp; :x := 7.77; end;");

ora_bind($curs, "result", ":x", $len, 2);

ora_bind($curs, "input", ":in", 5, 1);

ora_bind($curs, "output", ":out", 5, 2);

$input = 765;

ora_exec($curs);

echo "Result: $result<BR>Out: $output<BR>In: $input";

?>

Ora_Close

关闭一个 Oracle 的 cursor。

语法: int ora_close(int cursor);

返回值: 整数

函数种类: 数据库功能

内容说明: 本函数将 ora_open() 打开的游标 (cursor) 关闭。若成功则返回 true,反之返回 false。要处理具体的错误信息可使用 ora_error() 及 ora_errorcode()。

Ora_ColumnName

得到 Oracle 返回列 (Column) 的名称。

语法: string Ora_ColumnName(int cursor, int column);

返回值: 字符串

函数种类: 数据库功能

内容说明: 本函数返回的名称全都转成英文大写字母。

Ora_ColumnType

得到 Oracle 返回列 (Column) 的类型。

语法: string Ora_ColumnType(int cursor, int column);

返回值: 字符串

函数种类: 数据库功能

内容说明: 返回的类型值为下面类型之一:

VARCHAR2

VARCHAR

CHAR

NUMBER

LONG

LONG RAW

ROWID

DATE

CURSOR

Ora_Commit

将 Oracle 的交易处理付诸实行。

语法: int ora_commit(int conn);

返回值: 整数

函数种类: 数据库功能

内容说明: 返回值 true 表示成功,false 表示发生错误。具体的错误纠错可以使用 ora_error() 及 ora_errorcode()。本函数会将最近一次 commit/rollback 后的交易 (transaction) 做永久性的修改,当与 Oracle 数据库连接确认后自动执行功能 (autocommit) 会关闭。

Ora_CommitOff

关闭自动执行 Oracle 交易改动的功能。

语法: int ora_commitoff(int conn);

返回值: 整数

函数种类: 数据库功能

内容说明: 返回值 true 表示成功,false 表示发生错误。具体的错误纠错可以使用 ora_error() 及 ora_errorcode()。在每次使用 ora_exec() 之后,本函数会关闭自动执行功能。

Ora_CommitOn

打开自动执行 Oracle 交易改动的功能。

语法: int ora_commiton(int conn);

返回值: 整数

函数种类: 数据库功能

内容说明: 返回值 true 表示成功,false 表示发生错误。具体的错误纠错可以使用 ora_error() 及 ora_errorcode()。在每次使用 ora_exec() 后的连接时,本函数会打开自动执行功能。

Ora_Error

获得 Oracle 错误信息。

语法: string Ora_Error(int c

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有