php oracle 存储过程,PHP 调用Oracle 中存储过程

/*common_exec_storeproc

Description: Execute a store procedure.

Input parameter:

$conn   connection string of oracle.

$proc_name  Name of the store procedure you want exec.

$in_count  Count of input parameter for store procedure.

$out_count  Count of output parameter for store procedure.

$in_arrays  List of input  parameter.

$out_array  List of output  parameter.

Return parameter:

$ret  true: execute ok, false: execute fail.

sample:

$conn = connect_database("username","password","sid");//or   $conn = connect_database("username","password","")

if ($conn)

{

$value_param = array("ipcatis",2 );

if (common_exec_storeproc($conn,"yourprocedurename",2,1,$value_param,$out_array))

echo "exec ok";

foreach($out_array as $key => $val)

{

echo $val."
";

};

}

else

echo "Not conected!";

if ($conn)

disconnect_database($conn);

*/

function common_exec_storeproc($conn,$proc_name,$in_count,$out_count,$in_arrays,&$out_array)

{

//echo $in_count."".$out_count."/
";

$sql = "begin  "."$proc_name"."(";

for ($i = 0; $i < $in_count + $out_count; $i++)

{

$sql.= ":param$i";

if ($i < $in_count +  $out_count - 1)

$sql.=",";

}

$sql.="); end;";

//echo $sql;

$stmt = OCIParse($conn,$sql);

for ($i = 0; $i < $in_count; $i++)

{

OCIBindByName($stmt,":param$i",&$in_arrays[$i],-1);

//echo $in_arrays[$i]."-------------
";

}

for ($i = 0; $i < $out_count; $i++)

{

$cur = $i + $in_count;

OCIBindByName($stmt,":param$cur",&$out_array[$i],65536);

//echo $out_arrays[$i]."
";

}

if (!OCIExecute($stmt))     {         //echo "执行操作失败!";         //echo $sql."
";         OCIFreeStatement($stmt);         return false;     }     OCIFreeStatement($stmt);       return true; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值