I discovered recently that it was impossible to bind an output
placeholder plsql (an input work only).
Configuration 1 : Suse + Oracle 8i17 + oci (oracle) + PHP4.2.3
Configuration 2 : HPUX11 + Oracle 8i17 + oci(oracle) + PHP4.2.3
Configuration 3 : HPUX11 + Oracle 8i17 + oci(oracle) + PHP4.2.2
With script :
inoutdemo.sql
CREATE OR REPLACE PROCEDURE inoutdemo (par_in IN VARCHAR2,
par_in_out IN
OUT VARCHAR2, par_out OUT VARCHAR2) IS BEGIN
par_out:=par_in;
par_in_out:=par_in||' '||par_in_out; END;
$db=OCILogon("usr_adm","adm_inv");
$stmt=OCIParse($db,"BEGIN inoutdemo(:in,:inout,:out);END;");
OCIBindByName($stmt,":in",$in,32);
OCIBindByName($stmt,":inout",$inout,32);
OCIBindByName($stmt,":out",$out,32);
$in="Hello ";
$inout="World!";
OCIExecute($stmt);
echo $in."\n".$inout."\n".$out."\n";
//Result
Warning: OCIStmtExecute: ORA-06550: line 1, column 17: PLS-00553:
character set name is not recognized ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated in
/opt/apache/htdocs/fab.php4 on line 58
Hello
World!
I tested this script with the 3 configuration but it's the same error
I changed $in, &inout , &out into $&in, $&out, $&inout but it's the same
error
Please help me !!!
Fabien JOSEPH
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php