在PHP中使用sqlsrv_get_field
时,我无法从MS SQL 2008 R2实例返回完整的XML结果。
这是我的代码:
$statement = sqlsrv_query( $AnalysisConnection,$sql);
if( $statement === false ) {
die( print_r( sqlsrv_errors(), true));
}
$rows = sqlsrv_has_rows($statement);
if($rows === false) {
print ("no rows");
}
sqlsrv_fetch($statement);
$finalXML = sqlsrv_get_field($statement,0, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR));
//only do this if there is an xml to save.
if($finalXML) {
file_put_contents('FILEFOLDER/FILENAME.xml', $finalXML);
echo "<a href='FILEFOLDER/FILENAME.xml'>Download your XML</a>";
//readfile($finalXML);
}
我也尝试使用fwrite()
但没有成功。
$handle = fopen('FILEFOLDER/FILENAME.xml','w');
stream_set_write_buffer($handle,0);
fwrite( $handle, $finalXML);
fclose($handle);
Fiddler中的原始数据响应也显示xml被截断。我能够在SQL中成功执行存储过程。
有什么想法吗?