1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

PHP调用Oracle存储过程的实操

2022-11-25 | 数据库 | admin | 614°c
A+ A-

以下的文章主要是介绍如何用PHP来调用Oracle存储过程,以及在用PHP来调用Oracle存储过程的是实际应用代码的示例,以下就是文章的相关内容的主要秒素,望你在浏览之后,会有所收获。

建立一个test表

createtabletest( 
idnumber(16)notnull, 
namevarchar2(30)notnull, 
primarykey(id) 
);

插入一条数据

insertintotestvalues(5,’php_book’);

建立一个Oracle存储过程

createorreplaceprocedureproc_test( 
p_idinoutnumber, 
p_nameoutvarchar2 
)as 
begin 
selectnameintop_name 
fromtest 
whereid=5; 
endproc_test; 
/

php代码:

<?php

建立数据库连接

$user="scott";

数据库用户名

$password="tiger";

密码

$conn_str="tnsname";

连接串

(cstr:connection_string) 
$remote=true

是否远程连接

if($remote){ 
$conn=ocilogon($user,$password,$conn_str); 
} 
else{ 
$conn=ocilogon($user,$password); 
}

设定绑定

$id=5;

准备用以绑定的php变量 id

$name="";

准备用以绑定的php变量 name

/** 调用Oracle存储过程的sql语句(sql_sp : sql_storeprocedure)

* 语法:

* begin 存储过程名([[:]参数]); end;

* 加上冒号表示该参数是一个位置

**/ 
$sql_sp="beginproc_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"nameis:$name<br>"; 
?>

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11500.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。