php传值给ORACLE存储过程,该如何处理
程序员文章站
2022-06-08 08:27:21
...
php传值给ORACLE存储过程
本人的客户在ORACLE服务器上写了一个存储过程,他告诉了我存储过程名称(pro)、数据库名称、TNSNAME、访问密码、数据表名称、及5个字段名称。
现在我要在我开发的PHP程序上远程调用这个ORACLE存储过程,目的很简单,就是把5个PHP变量值传给存储过程(pro)中的5个字段,分别是S_a 、S_b 、S_c 、S_d 、S_e
另外存储过程(pro)在接收了上面5个值之后,会返回一个结果值,字段名为S_F
请问具体代码要怎样写?
我把我所有的分都付给能解决我问题的高手!!
------解决方案--------------------
本人的客户在ORACLE服务器上写了一个存储过程,他告诉了我存储过程名称(pro)、数据库名称、TNSNAME、访问密码、数据表名称、及5个字段名称。
现在我要在我开发的PHP程序上远程调用这个ORACLE存储过程,目的很简单,就是把5个PHP变量值传给存储过程(pro)中的5个字段,分别是S_a 、S_b 、S_c 、S_d 、S_e
另外存储过程(pro)在接收了上面5个值之后,会返回一个结果值,字段名为S_F
请问具体代码要怎样写?
我把我所有的分都付给能解决我问题的高手!!
------解决方案--------------------
- PHP code
$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);}$a='S_a';$b='S_b';$c='S_c';$d='S_d';$e='S_e';$sql_sp = "BEGIN PROC_TEST(:a, :b,:c,:d,:e); END;";//Parse$stmt = OCIParse($conn, $sql_sp);//执行绑定OCIBindByName($stmt, ":a", $a, 30); OCIBindByName($stmt, ":b", $b, 30);OCIBindByName($stmt, ":c", $c, 30);OCIBindByName($stmt, ":d", $d, 30);OCIBindByName($stmt, ":e", $e, 30);OCIExecute($stmt);
代码迷推荐解决方案:oracle存储过程,http://www.daimami.com/oracle-develop/177537.html相关文章
相关视频