0

我是 oracle 新手,从 sql 代码块读取输出参数时遇到问题。我搜索了许多手册和教程,但我仍然无法自拔。

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

我需要 A 的值,但我不能重命名它。

谢谢你的帮助。

4

1 回答 1

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的A的值。

于 2011-06-20T15:59:44.023 回答