2016-06-28 21 views
0

如何將XML從PHP發送到存儲過程? 我在PHP中嘗試了幾種不同的數據類型。PHP SQL使用XML的mssql_bind

這裏是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) 

回答

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;