0

我有这个代码:

$P_ID = 12;
$P_RESULTADO = null;

$c = OCILogon($config['db']['username'], $config['db']['password'], $config['db']['hostspec']);


$query = 'DECLARE
P_ID NUMBER;
P_RESULTADO VARCHAR2(32767);
BEGIN
P_ID := 12; 
P_RESULTADO := NULL;
SINTRA.PKG_CONSULTAS_RAPIDAS.P_DATOS_PAIS_PHP ( :P_ID, :P_RESULTADO );
COMMIT;
END;';

$stid = oci_parse($c, $query);
   oci_bind_by_name($stid, ":P_RESULTADO", $P_RESULTADO, 32767);
   oci_bind_by_name($stid, ":P_ID", $P_ID, 2);

    oci_execute($stid,OCI_DEFAULT);



while ($row = oci_fetch($stid)) {

$este[] = $row; 

}

oci_close($c);

print_r($este);

但是给了我这个错误:

警告:oci_fetch(): ORA-24374: 在获取或执行和获取之前定义未完成

我真的不知道我在这里做错了什么,你能告诉我如何解决它吗?

4

1 回答 1

1

在获取或执行和获取之前,您必须执行

oci_define_by_name 

对于每一列而不是获取或执行。

于 2013-11-04T09:54:06.157 回答