vam*_*msi 0 php oracle stored-procedures
下面是我的程序
NOBL_TEC_TEST_PROC(v1 number,v2 out number)
Run Code Online (Sandbox Code Playgroud)
我的模型功能
public function testProc()
{
$result = '';
$db = "orcl";
$conn = oci_connect("***", "****", $db);
$sql = 'begin NOBL_TEC_TEST_PROC(222, :seqno); end;';
$stmt = oci_parse($conn,$sql);
oci_bind_by_name($stmt, ':seqno', $result);
oci_execute($stmt);
return $result;
}
Run Code Online (Sandbox Code Playgroud)
如果我给 IN 值 <10 它工作正常,但是当我尝试给 IN 值 >10 它给出以下错误。
<b>Warning</b>: oci_execute(): ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 1 in....
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?有什么帮助吗?谢谢
小智 6
我知道有点晚了,但是您需要将缓冲区大小添加到您的 oci_bind_by_name
oci_bind_by_name($stmt, ':seqno', $result,2000);
Run Code Online (Sandbox Code Playgroud)
这应该可以解决您的问题