Variables liées PHP / PL\SQL
Bonjour,
Je vous expose mon soucis:
[Ne vous demandez pas l'utilité profonde de ce qui va suivre, c'est juste du teste]
J'ai créé une procédure bidon via PHP:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
create or replace
procedure Tist
(
Calcu in out test2.ville%type,
Valeurs in out test2.numero%type)
as
begin
Calcu:='Londres';
select numero into Valeurs from test2 where ville = Calcu;
Valeurs := mod(Valeurs,4);
dbms_output.put_line(Calcu || ' ' || Valeurs);
end; |
[j'indente la code, c'est tellement plus agréable à lire, mais a noter que PHP n'aime pas ça]
Maintenant j'aimerais récupérer les variables Calcu et Valeurs, j'ai essayé:
Code:
1 2 3 4 5 6 7 8 9 10
|
$plsql="begin Tist(:Calcu,:Valeurs); end;";
$s= oci_parse($c1, $plsql);
#Liaison des variables oracle et php
OCI_Bind_By_Name ($s, ":Calcu", $cal , -1);
OCI_Bind_By_Name ($s, ":Valeurs", $val , -1);
$r=oci_execute($s);
echo $cal." | ". $val;
oci_free_statement($s); |
Voici le résultat:
Citation:
Warning: oci_execute() [function.oci-execute]: ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: tampon de chaîne de caractères trop petit ORA-06512: à "***.TIST", ligne 1 ORA-06512: à ligne 1 in C:\*** on line 16
|
Seulement, Calcu est de type ville i.e VARCHAR[50] et Valeurs de type numero i.e NUMBER[4,0]
Si quelqu'un à une idée de solution?
Je continue a chercher de mon coté :D
D'avance, merci