There is a procedure procedure some_procedure(id in integer, data_json out varchar2) , which takes a certain parameter and returns values in a JSON format string.
I'm trying to get this line on php:
$sql = "begin some_procedure(:ID, :JSON);end;"; try{ $i=0; //ID $arr[$i]['name']='ID'; $arr[$i]['val']=$id; $arr[$i]['len']=10; $i=0; $res[$i]['name']='JSON'; $res[$i]['len']=1000; $res=db_call_func($sql, $arr, $res, $conn); var_dump($res["JSON"]); $error = oci_error($res['stmt'])['message']; if($error){ var_dump('error = '); var_dump($error); } }catch(Exception $exc) { var_dump($exc->getMessage()); } function db_call_func($sql,$arr=null,$res=null, $conn){ $stmt = oci_parse($conn, $sql); foreach ($arr as $a){ oci_bind_by_name($stmt, ":".$a['name'], $a['val'], $a['len']); } $resarr = []; foreach ($res as $r){ oci_bind_by_name($stmt, ":".$r['name'], $resarr[$r['name']], $r['len']); } oci_execute($stmt); oci_commit($conn); $resarr['stmt']=$stmt; return $resarr; } in the end, when var_dump ($ res ["JSON"]), I get NULL. Please tell me what I'm doing wrong and how to fix it?