一、创建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] 举报,一经查实,本站将立刻删除。