Author:WenlongWu
一、针对MSSQLSERVER数据库
有两种解决方案,如下:
修改php.ini来实现:打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:
;Validrange0-2147483647.Default=4096.
;mssql.textlimit=4096
;Validrange0-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,"SETTEXTSIZE%li",MS_SQL_G(textsize));
dbcmd(mssql.link,buffer);
dbsqlexec(mssql.link);
dbresults(mssql.link);
}
在PHP中查询之前执行SETTEXTSIZE合适的大小:只需在SELECT之前执行
mssql_query("SETTEXTSIZE65536");
从上面PHP源代码中可看到其实也是执行SETTEXTSIZE的:)
二、针对Sybase数据库
由于该扩展在php.ini没有像SQLSERVER那样的选项可配置,所以只有采用上面的第二种方法,即:
在SELECT之前执行
sybase_query("SETTEXTSIZE65536");
您可能感兴趣的文章:php使用sql数据库获取字段问题介绍PHP以指定字段为索引返回数据库所取的数据数组phpmssql扩展SQL查询中文字段名解决方法php面向对象字段的声明与使用php中将图片gif,jpg或mysqllongblob或blob字段值转换成16进制字符串PHPFORMYSQL代码生成助手(根据Mysql里的字段自动生成类文件的)php数据库字段复用的基本原理与示例php判断输入不超过mysql的varchar字段的长度范围mysql下创建字段并设置主键的php代码php获取字段名示例分享