Php Select通过pdo_dblib查询MS-MSQL将列结果截断为2kb

Php Select通过pdo_dblib查询MS-MSQL将列结果截断为2kb,php,sql-server,Php,Sql Server,这个标题是对正在发生的事情的一个很好的总结。我有一个基于Zend Framework 2构建的php应用程序,它在CentOS上运行,使用pdo_dblib驱动程序连接到MSSQL服务器进行持久化 我试图将一些相当长的编码数据字符串存储到其中一个表的nvarchar(max)列中,到目前为止,我已经证明我可以成功地将数据插入表中。我通过为调试目的编写的桌面C#应用程序执行SELECT查询,验证了存储的数据是否完整和正确 但是,当我通过ZF2适配器运行完全相同的SELECT查询(绕过查询生成器进行

这个标题是对正在发生的事情的一个很好的总结。我有一个基于Zend Framework 2构建的php应用程序,它在CentOS上运行,使用pdo_dblib驱动程序连接到MSSQL服务器进行持久化

我试图将一些相当长的编码数据字符串存储到其中一个表的nvarchar(max)列中,到目前为止,我已经证明我可以成功地将数据插入表中。我通过为调试目的编写的桌面C#应用程序执行SELECT查询,验证了存储的数据是否完整和正确

但是,当我通过ZF2适配器运行完全相同的SELECT查询(绕过查询生成器进行调试)时,我收到一个截断的响应,长度正好是2048个字符。作为参考,测试字符串的长度大约为110kb

我在另一个连接到MySql的应用程序中有类似的表结构和查询,从未见过这个问题

有什么建议吗

C#选择

匹配的php

 public function test(){
    $test = $this->tableGateway->getAdapter()->query("select data from fil_tab where uid = 10");
    $result = $test->execute()->current();
    $value = strlen($result['data']); //2048 every time.
}

你能发布一些相关的代码吗?用一个C#select正在工作和php select返回一个截断结果的例子编辑了主要帖子。我更感兴趣的是你通过web检索数据的方式……你使用ajax和get方法吗?我只是好奇。数据回显是否正确?如果是这样的话,我认为可以安全地假设适配器为通过非MySQL数据库检索的字符串操作保留2048个字符。没有web交互。这是纯后端php和c#。对于php变量的检查是通过php storm内部的zend_调试进行的。对于C#来说,这都是本地VS。
 public function test(){
    $test = $this->tableGateway->getAdapter()->query("select data from fil_tab where uid = 10");
    $result = $test->execute()->current();
    $value = strlen($result['data']); //2048 every time.
}