Questo è il codice che ho scritto io:
Codice PHP:
<?php
$a=$_POST['a'];
$b=$_POST['b'];
if (!$con=oci_connect("console", "console", "sigla40t.zoo.intra")){die;}
else{
$s=oci_parse($con,"BEGIN :c :=cons_utility.prova(:a,:b); END;");
oci_bind_by_name($s,":c",$c);
oci_bind_by_name($s,":a",$a);
oci_bind_by_name($s,":b",$b);
oci_execute($s);
print "[".$c."]";
oci_close($con);
}
?>
Questa è la store procedure che ho creato:
codice:
function prova(a number, b number) return number is
c number;
begin
c:= a + b;
return (c);
end;
Mi funziona finchè il risultato non ha due cifre. Se faccio la somma di 6 e 4 non funziona mi da questo errore:
Warning: oci_execute() [function.oci-execute]: ORA-06502: PL/SQL: errore : buffer della stringa di caratteri troppo piccolo di numero o valore ORA-06512: a line 1, perchè?