ID: 19687 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Assigned -Bug Type: OCI8 related +Bug Type: Feature/Change Request Operating System: win 2k PHP Version: 4.2.1 Assigned To: maxim New Comment:
An update: Oracle Call Interface specs say there are a few types that cannot be returned to client from DB. These are BOOLEAN, RECORD and INDEX TABLE. So, for BOOLEAN to work with OCI8 extebsion there must be a wrapper added in some way that, still in PLSQL encodes/decodes BOOLEAN to/from NUMBER that can be returned to OCI8 extension and then used by PHP as PHP's BOOLEAN type. In other words - this issue is not really any kind of bug but rather an expected behavior. Yet, I'd love to get it working somehow. I reclassify it to the feature request and will work on it some time later. Thanks, Maxim Maletsky Previous Comments: ------------------------------------------------------------------------ [2002-11-10 14:52:35] [EMAIL PROTECTED] I was planning to take over this one ... ------------------------------------------------------------------------ [2002-11-10 00:18:56] [EMAIL PROTECTED] It is actually not a bug but rather the limitation of binding variables. We hope to add it some time soon. Maxim Maletsky ------------------------------------------------------------------------ [2002-10-01 06:54:18] [EMAIL PROTECTED] PROBLEM OCIEXECUTE WITH BOOLEAN OUTPUT PARAMETERS: The call to the following stored procedure (oracle 8.1.7) from php4.2.1 (as ampache module) does not work with a boolean parameter. It works fine however when I change boolean to NUMBER. /************ the procedure in PL SQL ********************/ PROCEDURE testit(arg1 IN OUT BOOLEAN) IS BEGIN arg1:=TRUE; END; /*********************************************************/ /************ the call from PHP **************************/ $stmt = OCIParse($connector->_connectionID, "BEGIN testit(:arg1); END;"); OCIBindByName($stmt,":arg1",$ret,10); OCIExecute($stmt); OCIFreeStatement($stmt); /*********************************************************/ /************ the warning in french :-) ******************/ Warning: OCIStmtExecute: ORA-06550: Ligne 1, colonne 7 : PLS-00306: num�ro ou types d'arguments erron�s dans appel � 'TESTIT' ORA-06550: Ligne 1, colonne 7 : PL/SQL: Statement ignored in d:\apache\htdocs\iac\test.php on line 32 false (traduction of the warning : wrong argument number or type) /*********************************************************/ ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19687&edit=1
