我已将数据库从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'
答案 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
感谢大家的帮助