--TEST-- Basic XMLType test --SKIPIF-- true, 'timesten' => false); // test runs on these DBs require(dirname(__FILE__).'/skipif.inc'); ?> --FILE-- 1 Big 12345 20 Curved Red N Tiny Steel '))" ); oci8_test_sql_execute($c, $stmtarray); function do_query($c) { $s = oci_parse($c, 'select XMLType.getClobVal(xt_spec) from xtt where xt_id = 1'); oci_execute($s); $row = oci_fetch_row($s); $data = $row[0]->load(); var_dump($data); return($data); } // Check echo "Initial Data\n"; $data = do_query($c); // Manipulate the data using SimpleXML $sx = simplexml_load_string($data); $sx->Hardness = $sx->Hardness - 1; $sx->Nice = 'Y'; // Insert changes using a temporary CLOB $s = oci_parse($c, 'update xtt set xt_spec = XMLType(:clob) where xt_id = 1'); $lob = oci_new_descriptor($c, OCI_D_LOB); oci_bind_by_name($s, ':clob', $lob, -1, OCI_B_CLOB); $lob->writeTemporary($sx->asXml()); oci_execute($s); $lob->close(); // Verify echo "Verify\n"; $data = do_query($c); // Cleanup $stmtarray = array( "drop table xtt", ); oci8_test_sql_execute($c, $stmtarray); echo "Done\n"; ?> --EXPECT-- Initial Data string(250) " 1 Big 12345 20 Curved Red N Tiny Steel " Verify string(249) " 1 Big 12345 19 Curved Red Y Tiny Steel " Done