Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > PHP 调用 Oracle 存储过程 之 查询
【标  题】:PHP 调用 Oracle 存储过程 之 查询
【关键字】:PHP,Oracle
【来  源】:http://blog.csdn.net/cho__cho/archive/2007/04/16/1566708.aspx

PHP 调用 Oracle 存储过程 之 查询

Your Ad Here

在网上找了很久都没找到结果,今天看帮助,结合JAVA程序中的一个实例,写出了这个PHP调用Oracle存储过程的例子,也许有人会说PHP调用存储过程是很简单的,但在这里我还是想把这点小成就拿来共享一下。

首先,在Oracle中创建一个表 tbname,

然后创建一个包(在这里因为要得到存储过程中查询的结果,需要用的游标cursor,但在创建存储过程的参数中又不能直接使用cursor变量,所以我用到了包,当然我这里的说明可能并不准确,只是我的理解。),在包中包含一个cursor变量声明,和一个存储过程,如下:

create or replace package pkg_test2
 as
   type cursor_myType Is ref cursor;  --声明一个游标变量
   procedure proTest2(res out cursor_myType);--声明一个存储过程
 end pkg_test2;

包体如下:

create or replace package body pkg_test2
  as
   procedure proTest2(res out cursor_myType)
     is
     strSql varchar2(2000);
     begin
     strSql := 'select * from tbname';
     open res for strSql;
     end proTest2;
 end pkg_test2;
然后编译以上orace代码。成功!!!

下面是PHP代码:

$conn = ocilogon($dbUser,$dbPassword,$dbName);//创建oracle连接

$curs = @OCINewCursor($conn);//声明一个orac
   $strSql = "BEGIN pkg_test2.protest2(:res); END;"; // 创建SQL语句,这里是PHP调用Oracle存储过程的写法,pkg_test2.protest2(:res); 就是说调用pkg_test2包下protest2(:res);存储过程
   $stmt = @ociparse($conn,$strSql);//
   

   OCIBindByName($stmt,":res",&$curs,-1,OCI_B_CURSOR);//
   OCIExecute($stmt);
   OCIExecute($curs);
   while (OCIFetchInto($curs,&$data)) {
    var_dump($data);
    echo "<br>";
   }
   OCIFreeStatement($stmt);
   OCIFreeCursor($curs);

相信里面的PHP函数已经不用我多说了,如有不明白,请查帮助或问google / baidu

 

OK!!! 

以后可以再扩展了

 

转码函数:【上一篇】
flash全屏方法以及保持某个影片剪辑尺寸不变:【下一篇】
【相关文章】
  • Openads,phpadsnew广告统计系统,中文安装和使用说明,教程完整版
  • 编译chm格式PHP手册
  • php的开发模式—基础篇
  • 比较Oracle SQL中的IN & EXISTS
  • linux的Oracle安装以及配置
  • potential Security of PHP COM function
  • 新人求助关于PHP的转换成ASP
  • PHP使用技巧
  • oracle中的日期函数
  • 用JDBC—ODBC桥连接Oracle数据库
  • 【随机文章】
  • C#面象对象2
  • (04)第四章 串 题解
  • 机房共享上网应用专题
  • modem recovery-time
  • Oracle的Password文件的作用
  • FreeBSD 5.3/5.4下中文显示
  • 红色警戒 苏联第11关快速攻略
  • 画一棵树
  • c#socket编程
  • 做梦的人是幸福的...
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.