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