Получить значение в JSON от процедуры на PL\SQL (БД Oracle) и распарсить его на PHP

149
07 июня 2019, 08:20

Есть процедура procedure some_procedure(id in integer, data_json out varchar2) , которая берет некоторый параметр и возвращает значения в строке формата JSON.
я пытаюсь получить эту строку на 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;   
  }      

в итоге при var_dump($res["JSON"]) получаю NULL. Пожалуйста, подскажите, что я делаю не так и как это поправить?

READ ALSO
Ошибка PHP Warning: Invalid argument supplied for foreach()

Ошибка PHP Warning: Invalid argument supplied for foreach()

Был скрипт парсер, подгружал посты со стороннего сайтаВсе работало пока не перехал на другой хостинг

129
Uncaught SyntaxError: Unexpected token < на WordPress

Uncaught SyntaxError: Unexpected token < на WordPress

Был уже готовый сайт на WordPress с конструктором страниц и несколькими плагинамиНемножко изменил у себя на локальном сервере, залил на хостинг...

137
Клонирование объекта в PHP

Клонирование объекта в PHP

Допустим есть класс Alpha и класс BettaОбъект $b класса Betta содержит переменную $a класса Alpha

140
Почему ошибка в Ocmod Opencart 2.3?

Почему ошибка в Ocmod Opencart 2.3?

часть кода в файле модификатора до изменения

121