PHP ODBC SELECT返回不完整的字段

时间:2017-03-07 08:58:03

标签: php sql sql-server odbc

我已将数据库从MS SQL 2005(Windows Server 2003)迁移到MS SQL 2012(Windows Server 2012 R2)。除了一件事,一切都运作良好。

每当我尝试在PHP中使用ODBC来获取特定列(不幸名为" text")并且该字段内容很大时,结果就不完整了。一些内容缺失,只是不存在。如果我在SQL Management Studio中尝试SQL命令,结果是正确的。

我已经尝试了以下两种方法(相同的结果):

$query = odbc_exec ($dbh, "SELECT * FROM artikel WHERE id = '$page'");
if ($data = odbc_fetch_array($query)) {
    extract($data);
    echo $text;
}

//Method 2 is near the same but with the following SQL command and with odbc_result instead of extract();
SET textsize 2147483647 SELECT text FROM artikel WHERE id = '$page'

1 个答案:

答案 0 :(得分:0)

找到解决方案(感谢@ÁlvaroGonzález) 我在代码中添加了以下两行(在odbc_exec()之后)

odbc_binmode($query, ODBC_BINMODE_PASSTHRU);
odbc_longreadlen($query, 16384); //Set the length of the displayed value to 16384

感谢大家的帮助