我是 oracle 新手,从 sql 代码块读取输出参数时遇到问题。我搜索了许多手册和教程,但我仍然无法自拔。
$sql = "declare
A varchar2(16);
docs.InsT(...);
end;";
$stid = oci_parse($conn, trim($sql));
oci_execute($stid);
oci_commit($conn);
我需要 A 的值,但我不能重命名它。
谢谢你的帮助。
如果您试图在 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的值。