Edit report at https://bugs.php.net/bug.php?id=58319&edit=1
ID: 58319 Comment by: r dot ejem at seznam dot cz Reported by: kevinpgrant at yahoo dot co dot uk Summary: OCI-LOB invalid character in Class name Status: Open Type: Bug Package: OCI8 related Operating System: linux PHP Version: 5.2.5 Block user comment: N Private report: N New Comment: I don't see type-checking pointless especially in PHP which has poor to no compile-time type-checking. I think this bug should be fixed in future version. Invalid class name of a built-in class is, I think, a terrible mistake, which has to be definitely fixed. Previous Comments: ------------------------------------------------------------------------ [2008-08-19 06:40:59] tony at daylessday dot org // check $clob is of type 'OCI-Lob' here It's pointless to check it because oci_new_descriptor() can return only two things - NULL and OCI-Lob class instance. ------------------------------------------------------------------------ [2008-08-19 06:37:50] kevinpgrant at yahoo dot co dot uk Description: ------------ checking if an IN OUT CLOB input parameter returned from Oracle is an instanceof OCI-Lob fails, because of the invalid hyphen character in the class/object name! We have to use workarounds involving get_class($mylob) == 'OCI-Lob' instead, or use the deprecated 'is_a' check. Reproduce code: --------------- $sql = "insert into table (field1, field2) values (field1 = 'value', field2 = empty_clob()) returning field2 into :field2"; OCIParse($conn, $sql); $clob = OCINewDescriptor($conn, OCI_D_LOB); // check $clob is of type 'OCI-Lob' here OCIBindByName($stmt, ":field2", &$clob, -1, OCI_B_CLOB); OCIExecute($stmt, OCI_DEFAULT); $clob->save("some text"); OCICommit($conn); Expected result: ---------------- should return true/false when testing fo instanceof OCI-Lob (suggest using OCI_Lob instead ...?) Actual result: -------------- php barfs due to '-' character ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=58319&edit=1