ID:               37220
 Updated by:       [EMAIL PROTECTED]
 Reported By:      lbouteille dot ext at francetelecom dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         OCI8 related
 Operating System: Win 2000
 PHP Version:      5.1.2
 Assigned To:      tony2001
 New Comment:

Okay, it works with Oracle 10g on Linux.


Previous Comments:
------------------------------------------------------------------------

[2006-08-09 12:55:56] lbouteille dot ext at francetelecom dot com

Check the detail of the error message : Sounds like XML wasn't valid..
it's working on my Linux server anyway.. maybe some oracle
configuration to deal with XML ?

Oracle Error :: LPX-00245 extra data after end of document
Cause
After the close of the top-level element, more data was found.
Action
The end-element tag for the top-level element must be the last thing in
the document.

------------------------------------------------------------------------

[2006-08-09 12:24:03] [EMAIL PROTECTED]

I get only this:
Warning: ociexecute(): ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00245: extra data after end of document

------------------------------------------------------------------------

[2006-08-07 11:30:03] lbouteille dot ext at francetelecom dot com

Here is the SQL command to create database :
CREATE TABLE myTable ( myColumn XMLTYPE NOT NULL)

and then tu put a row in the table:
INSERT INTO myTable VALUES(XMLTYPE('<THETAG myID="1234"></THETAG>'))

updateXML() and existsNode() are not procedures, they are part of the
Oracle query system (to query XMLTYPE values)

------------------------------------------------------------------------

[2006-08-07 09:54:36] [EMAIL PROTECTED]

I don't have table myTable with column myColumn and procedures
updateXML() and existsNode().

------------------------------------------------------------------------

[2006-08-07 09:18:27] lbouteille dot ext at francetelecom dot com

I can't put the code online, but as it is really short, i'm writing it
here :

<?php
        //do the connection to the Oracle 9.2.0.7 database
        $conn = oci_pconnect($user,$password, $db);
        $xml = "<MYTAG/>";
        //now let's update the row where myId = 1234 and change the mother tag
'THETAG' to 'MYTAG' (MyColumn is a XMLTYPE datatype and myTable a std
Oracle table)
        $query = "UPDATE  myTable 
                SET     myTable.myColumn =
updateXML(myTable.myColumn,'/THETAG',xmltype.createXML(:data)) 
                WHERE   existsNode(myTable.myColumn,'/[EMAIL 
PROTECTED]"1234\"]')=1"; 
        $stmt =  oci_parse ($conn, $query); 
        $clob = OCINewDescriptor($conn, OCI_D_LOB); 
        oci_bind_by_name($stmt, ':data', &$clob, -1,OCI_B_CLOB); 
        $clob->WriteTemporary($xml,OCI_TEMP_CLOB); 
        $success = OCIExecute($stmt,OCI_COMMIT_ON_SUCCESS); 
        OCIFreeStatement($stmt);        
        $clob->free(); 
?>

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/37220

-- 
Edit this bug report at http://bugs.php.net/?id=37220&edit=1

Reply via email to