php 访问oracle 存储过程实例详解

 更新时间:2017年01月08日 11:49:40   作者:小_马  
这篇文章主要介绍了php 访问oracle 存储过程实例详解的相关资料,这里附有实例代码,帮助大家实现这样的功能,需要的朋友可以参考下

php 访问oracle 存储过程实例详解

比如我的本地Oracle数据库有一个package,里面有一个存储过程:

create or replace package PKG_TRANS_REL is

 -- Author : test
 -- Created : 
 -- Purpose : test

 -- Public type declarations
 PKG_NAME varchar2(20) := 'PKG_TRANS_REL';
 --存储过程,测试用
 procedure pro_GC_withdraw(in_merch_no   in varchar2,
              in_withdraw_amt in number,
              out_result   out number,
              out_errmsg   out varchar2);
end PKG_TRANS_REL;

包名是PKG_TRANS_REL,存储过程是pro_GC_withdraw,这个存储过程有四个参数,两个入参,两个出参。

在PHP中通过pdo调用示例:

  $this->_pdo = new PDO(PDO_DB_DNS, PDO_DB_USER, PDO_DB_PASSWORD);
  $call = "CALL PKG_TRANS_REL.pro_GC_withdraw(?,?,?,?)";

  try{
      $stmt = $this->_pdo->prepare($call);

      $stmt->bindParam(1, $merch_no);
      $stmt->bindParam(2, $amount, PDO::PARAM_INT);

      $stmt->bindParam(3, $result, PDO::PARAM_INT, 4);
      $stmt->bindParam(4, $error_msg, PDO::PARAM_STR, 64);

      $stmt->execute();

    }catch (PDOException $e)
    {
      $msg = 'SQL:'.$e->getMessage();
      $msg = iconv('GBK','UTF-8',$msg);
      user_dump('SQL:'.$msg);
      return false;
    }

    ...

bindParam第三个参数默认是PDO::PARAM_STR,如果是其它类型就要指明

入参传值比较简单,出参稍微复杂些,要指明长度

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • thinkPHP框架乐观锁和悲观锁实例分析

    thinkPHP框架乐观锁和悲观锁实例分析

    这篇文章主要介绍了thinkPHP框架乐观锁和悲观锁,结合实例形式分析了框架乐观锁和悲观锁的原理及thinkPHP相关实现技巧,需要的朋友可以参考下
    2019-10-10
  • php实现网站插件机制的方法

    php实现网站插件机制的方法

    这些天想作一个在网站中实现插件的功能,谷歌了一下,发现一篇文章感觉对我帮助很大,帖出来和大家分享,废话不多说,直接帖出代码供大家分析.
    2009-11-11
  • ajax php传递和接收变量实现思路及代码

    ajax php传递和接收变量实现思路及代码

    在实际应用中会遇到这种情况:ajax与php之间传递和接收变量,为了实现这一功能应用,很多新手朋友们,只能望洋兴叹啊,于是本人搜集整理一些实用技巧,晒出来和大家分享,希望可以帮助你们
    2012-12-12
  • laravel5.1框架下的批量赋值实现方法分析

    laravel5.1框架下的批量赋值实现方法分析

    这篇文章主要介绍了laravel5.1框架下的批量赋值实现方法,结合实例形式分析了Laravel5.1框架批量赋值的相关原理与实现方法,需要的朋友可以参考下
    2019-12-12
  • PHP利用DWZ.CN服务生成短网址

    PHP利用DWZ.CN服务生成短网址

    这篇文章主要介绍了PHP利用DWZ.CN服务生成短网址,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2019-08-08
  • php生成缩略图示例代码分享(使用gd库实现)

    php生成缩略图示例代码分享(使用gd库实现)

    分享一个利用php的GD库生成缩略图的例子,大家参考使用吧
    2014-01-01
  • PHP数组内存利用率低和弱类型详细解读

    PHP数组内存利用率低和弱类型详细解读

    本篇文章主要介绍了PHP数组内存利用率低和弱类型详细解读,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • THINKPHP5分页数据对象处理过程解析

    THINKPHP5分页数据对象处理过程解析

    这篇文章主要介绍了THINKPHP5分页数据对象处理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • tp5 实现列表数据根据状态排序

    tp5 实现列表数据根据状态排序

    今天小编就为大家分享一篇tp5 实现列表数据根据状态排序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • eaglephp使用微信api接口开发微信框架

    eaglephp使用微信api接口开发微信框架

    EaglePHP框架开发微信5.0的API接口,包含微信5.0 API基础接口、自定义菜单、高级接口,包括如下接收用户消息、向用户回复消息、会话界面自定义菜单、语音识别、客服接口等功能
    2014-01-01

最新评论