带有XML的PHP​​ SQL mssql_bind

时间:2016-06-28 18:27:53

标签: php sql-server xml

如何从PHP将XML发送到存储过程? 我在PHP中尝试了几种不同的数据类型。

这是PHP:

$model_look_xml = '<root><id>7</id><id>6</id><id>12</id></root>';
$query = mssql_init("AdvMS"); 

mssql_bind($query,"@model_look_xml",$model_look_xml,SQLVARCHAR,  false,  false,  200);

$result = mssql_execute($query);

最初的SP有@model_look_xml xml,它自己运行良好。只是不与PHP绑定。剩余的SP绑定很好,只是不是XML

我也尝试在SQL中将字符串转换为XML。 哪个在SP内部无效:

@model_look_xml varchar(200),
DECLARE @model_look_xml1 xml
set @model_look_xml1 = CAST(@model_look_xml AS XML)

1 个答案:

答案 0 :(得分:0)

解决。

PHP方面:

mssql_bind($query,"@model_look_xml",$model_look_xml,SQLVARCHAR,  false,  false,  200);

SQL方面:

 @model_look_xml xml,

解决这个问题的原因是:

SET ANSI_PADDING ON;
SET ANSI_WARNINGS ON;
set CONCAT_NULL_YIELDS_NULL ON;