php-sqlsrv/test/functional/pdo_sqlsrv/pdo_022_xml_bind_value.phpt

73 lines
2.5 KiB
Plaintext
Raw Normal View History

--TEST--
Unicode XML message using bindValue()
--SKIPIF--
<?php require('skipif_mid-refactor.inc'); ?>
--FILE--
<?php
require_once("MsCommon_mid-refactor.inc");
// Connect
$conn = connect();
2017-05-02 21:00:53 +02:00
// Create a temporary table
$tableName = '#testXMLBindValue';
// XML encrypted is not supported, thus do not create table with encrypted columns
$sql = "CREATE TABLE $tableName (ID INT PRIMARY KEY NOT NULL IDENTITY, XMLMessage XML)";
2017-05-02 21:00:53 +02:00
$stmt = $conn->exec($sql);
// XML samples
$xml1 = '<?xml version="1.0" encoding="UTF-16"?>
<PTag>
<CTag01>APP_PoP_银河</CTag01>
<CTag02>Το Παρίσι (γαλλικά: Paris, ΔΦΑ [paˈʁi]), γνωστό και ως η Πόλη του φωτός (Ville lumière), από τότε που εφοδιάστηκαν οι κύριες λεωφόροι του με φανούς γκαζιού το 1828, είναι η πρωτεύουσα της Γαλλίας και της περιφέρειας Ιλ ντε Φρανς (Île-de-France) και μία από τις ιστορικότερες πόλεις της Ευρώπης.</CTag02>
</PTag>';
$xml2 = '<?xml version="1.0" encoding="utf-16"?>
<PTag>
<CTag01>NULL</CTag01>
<CTag02></CTag02>
</PTag>';
// Insert data
try {
$stmt = $conn->prepare("INSERT INTO $tableName (XMLMessage) VALUES (:msg)");
$stmt->bindValue(':msg', $xml1);
$stmt->execute();
2017-05-02 21:00:53 +02:00
$stmt = $conn->prepare("INSERT INTO $tableName (XMLMessage) VALUES (?)");
$stmt->bindValue(1, $xml2);
$stmt->execute();
} catch (PDOException $ex) {
echo "Error: " . $ex->getMessage();
}
// Get data
2021-07-29 00:45:04 +02:00
$row = selectAll($conn, $tableName, PDO::FETCH_ASSOC);
2017-10-10 20:34:59 +02:00
var_dump($row);
// Close connection
unset($stmt);
unset($conn);
print "Done"
?>
--EXPECT--
array(2) {
[0]=>
array(2) {
["ID"]=>
string(1) "1"
["XMLMessage"]=>
string(553) "<PTag><CTag01>APP_PoP_银河</CTag01><CTag02>Το Παρίσι (γαλλικά: Paris, ΔΦΑ [paˈʁi]), γνωστό και ως η Πόλη του φωτός (Ville lumière), από τότε που εφοδιάστηκαν οι κύριες λεωφόροι του με φανούς γκαζιού το 1828, είναι η πρωτεύουσα της Γαλλίας και της περιφέρειας Ιλ ντε Φρανς (Île-de-France) και μία από τις ιστορικότερες πόλεις της Ευρώπης.</CTag02></PTag>"
}
[1]=>
array(2) {
["ID"]=>
string(1) "2"
["XMLMessage"]=>
string(43) "<PTag><CTag01>NULL</CTag01><CTag02/></PTag>"
}
}
Done