SQL2000的text类型的字段用PHP为什么只能取出前面的

来源:百度知道 编辑:UC知道 时间:2024/06/03 01:46:26
在SQL2000的text类型的字段里,现在我插入了10000个汉字,我用asp能全部在HTML里面输出来.但用PHP为什么只能取出前面的4000个汉字左右,其他的好象给我自动截取掉拉.没有输出来??为什么,用什么方法才能取出来.

一、针对MS SQL SERVER数据库

有两种解决方案,如下:

修改php.ini来实现:
打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:

; Valid range 0 - 2147483647. Default = 4096.

;mssql.textlimit = 4096

; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096

可以看到默认配置为4096字节,也就是经常碰到的被截断为4K,将之改为合适的大小,去掉前面的分号,然后保存并重起WEB服务器即可。

从上面两个选项可看到范围为:0 - 2147483647字节,其实-1也可以的,查看一下PHP源代码即可发现-1表示无限制 :)

if (MS_SQL_G(textlimit) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
}
}
if (MS_SQL_G(textsize) != -1) {
sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize));