Hola a todos, tengo un archivo php que ejecuta un store procedure en oracle 10g, pero devuelve un resultado que si ejecuto el mismo store procedure desde el sql navigator o el toad devuelve otro resultado (el resultado correcto), pasandole los mismos parametros en ambos casos, claro.
El codigo php lo simplifique hasta lo minimo:
Código PHP:
Código PHP:
$conn = oci_connect("xxx", decrypt("xxx", "xxx"), "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = xx.x.x.x)(PORT = xxxx))(CONNECT_DATA = (SID = xxxxxxxx)))", "WE8ISO8859P1");
$sql = "BEGIN get_valor_online_x(819, 16200, 4, :data); END;";
$cursor = oci_new_cursor($conn);
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, "data", $cursor, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($cursor);
$dbError = OCIError($stmt);
$rowValorFinal = oci_fetch_array($cursor, OCI_RETURN_NULLS);
foreach ($rowValorFinal as $key => $value)
echo $key."=".$value."<br>";
echo "X".$rowValorFinal["NUMEROERROR"];
Pero, el problema mayor, es que este store procedure llamado desde php solo anda mal, cuando el tercer parametro es tiene como valor 3 o 4, si le pongo cualquier otro valor devuelve el resultado correcto.
Ya reinicie el apache por las dudas y sigue todo igual.
Mi pregunta es: ¿ Puede ser que haya quedado cacheado en algun lado el resultado de ese store procedure ?
Desde ya, gracias a todos, cualquier sugerencia es bienvenida, porque es algo demasiado extraño.