PHP教程

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

本文主要是介绍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;
    }

三、访问效果

在这里插入图片描述

这篇关于PHP调用存储过程并接收存储过程返回值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!