2011-06-20 6 views
0

私はoracleを初めて使いました.SQLのコードブロックから出力パラメータを読み取る際に問題があります。私は多くのマニュアルとチュートリアルを検索しましたが、まだ自分自身を助けることはできません。プロシージャ・コールから変数を読み取る方法

$sql = "declare 
     A varchar2(16); 
     docs.InsT(...); 
     end;"; 
$stid = oci_parse($conn, trim($sql)); 
oci_execute($stid); 
oci_commit($conn); 

私はAの値が必要ですが、名前を変更できません。

ありがとうございました。

+0

可能な重複:[匿名のPL/SQLブロックからPHPに値を返すことはできますか?](http://stackoverflow.com/questions/2953566/can-i-return-values-to-php-from-an -anonymous-pl-sql-block) –

答えて

0

PHPで 'A'の値を読み取ろうとしている場合は、バインド変数を使用する必要があります。また、バインド変数を参照として渡す必要があります。あなたはA変数の名前を変更することはできませんので、そして、あなたは

$rVal = ''; 
$sql = "declare 
     A varchar2(16); 
     docs.InsT(...); 
     :rVal := A; 
     end;"; 
$stid = oci_parse($conn, trim($sql)); 
oci_bind_by_name($stid, ':rVal', &$rVal, 16); 
oci_execute($stid); 
oci_commit($conn); 
var_dump($rVal); 

$ RVALこれで、Oracleからの値が含まれています...このような何かを行うことができます。

関連する問題