以下的文章主要是介绍如何用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>"; ?>
相关文章
标签:Oracle