我试图从PHP将XML字符串插入到MSSQL数据库中。我得到:
SQLSTATEHY000:一般错误:102个不正确的语法在“附近”(下面是xml块)。
准备好的陈述如下:
$stmt = $this->db->prepare('
INSERT INTO [System_XmlExchangeImport] ([Create_ID], [ImportCode], [InputXml])
VALUES (?, ?, ?);
');
$result = $stmt->execute(array('ABCDEFGHKAJSDKLJ', $code, $xml));$xml是一个有效的XML字符串。可以在SQL客户端应用程序(sqlectron)中使用相同的语句插入相同的XML。
我不知道下一步该怎么办。
发布于 2020-04-27 11:33:29
这个问题是由编码引起的。XML用Windows-1250编码,但数据库连接用UTF-8字符集打开:
$connString = "dblib:version=7.0;host=$dbIp:$dbPort;dbname=$dbName;charset=UTF-8;";
$this->db = new PDO($connString, $dbUser, $dbPass);在DSN ( UTF-8 )中将UTF-8更改为WINDOWS-1250之后:
$connString = "dblib:version=7.0;host=$dbIp:$dbPort;dbname=$dbName;charset=WINDOWS-1250;";可以毫无问题地插入XML。
https://stackoverflow.com/questions/61294015
复制相似问题