Php dev和prod之间的字符串输出长度不同

Php dev和prod之间的字符串输出长度不同,php,adodb,Php,Adodb,对我宽容点,因为我是PHP新手;) 我的开发堆栈是Windows7和XAMP,我的live服务器是一个交钥匙灯堆栈 我正在使用ADODB连接到MSSQL并将所有结果附加到一个字符串中,代码如下: $sql = "SELECT Field1 FROM tb_Table"; $rs = $db->Execute($sql); if (!$rs) { print $db->ErrorMsg(); }

对我宽容点,因为我是PHP新手;)

我的开发堆栈是Windows7和XAMP,我的live服务器是一个交钥匙灯堆栈

我正在使用ADODB连接到MSSQL并将所有结果附加到一个字符串中,代码如下:

    $sql = "SELECT Field1 FROM tb_Table";

        $rs = $db->Execute($sql); 

         if (!$rs) {
            print $db->ErrorMsg(); 
        } else {

            $arr = $rs->GetRows();
            $rows = '';
            //Loop through parent array (rows)
                for ($i=0;$i<=(count($arr)-1);$i++) {
                    $rows .= " ".$arr[$i][0]." ";
                }
print strlen($rows)
$sql=“从tb\U表中选择字段1”;
$rs=$db->Execute($sql);
如果(!$rs){
打印$db->ErrorMsg();
}否则{
$arr=$rs->GetRows();
$rows='';
//循环父数组(行)

对于($i=0;$i我不太熟悉ADODB扩展,但是您可以尝试将
for
循环更改为:

foreach($arr as $row) {
    $rows .= " ".$row[0]." ";
}
这将解决分配给数组的键不连续的可能性

如果这没有帮助,请尝试使用
mb_strlen()
计算字符串长度,因为它将用于包含多字节字符的编码:

print mb_strlen($rows);

好的,使用了它。问题不在于代码,而在于提供程序,Linux框上的提供程序只从字段返回最大长度255

windows提供程序返回字段的完整长度


感谢大家的关注:)

确定是相同的数据吗?(不只是相同的行数)您检查了相同的行数,但确定每一行都是相同的吗?是的,sql尽可能相同,同时数据量可以增加(但每天只增加几次),prod字符串总是比dev字符串短得多。我已经打开了这两个实例,并立即运行它们。它们都返回不同的结果感谢您的建议,但不幸的是,我得到了相同的结果。