从SQL 2008中截断PHP XML返回流

时间:2015-05-21 20:57:54

标签: php sql-server xml file

在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中成功执行存储过程。

有什么想法吗?

0 个答案:

没有答案