微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP调用存储过程并接收存储过程返回值

PHP调用oracle带输出参数的存储过程

一、创建oracle存储过程

CREATE OR REPLACE PROCEDURE PROC_TEST (
  p_id IN OUT NUMBER,
  p_name OUT VARCHAR2
) AS 
BEGIN
  SELECT NAME INTO p_name
    FROM TEST
    WHERE ID = p_id;
END PROC_TEST;

二、PHP调用代码

安装oracle扩展 安装方法可参考【Centos7 php7.3安装oracle扩展】

 /**
     * PHP调用存储过程并处理返回值
     */
    public function testProcedure(){
        //建立数据库连接
        $conn = oci_connect('scott','scott','10.87.234.25/orcl','UTF8');
        if(!$conn){
            echo  oci_error();exit;
        }
        $id = 5;                        //准备用以绑定的PHP变量 id
        $name = "";                     //准备用以绑定的PHP变量 name/** 调用存储过程的sql语句(sql_sp : sql_StoreProcedure)
        $sql_sp = "BEGIN PROC_TEST(:id, :name); END;";//Parse
        $stmt = OCIParse($conn, $sql_sp);//执行绑定
        OCIBindByName($stmt, ":id", $id, 16);           //参数说明:绑定PHP变量$id到位置:id,并设定绑定长度16位
        OCIBindByName($stmt, ":name", $name, 30);//Execute
        OCIExecute($stmt);//结果
        echo "name is : $name<br>";
       oci_close($conn);
        exit;
    }

三、访问效果

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐