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:
[j'indente la code, c'est tellement plus agréable à lire, mais a noter que PHP n'aime pas ça]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Maintenant j'aimerais récupérer les variables Calcu et Valeurs, j'ai essayé:
Voici le résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Seulement, Calcu est de type ville i.e VARCHAR[50] et Valeurs de type numero i.e NUMBER[4,0]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
|
Si quelqu'un à une idée de solution?
Je continue a chercher de mon coté
D'avance, merci
Partager