著名藏族舞曲:关于PHP处理MSSQL的text字段内容被截取的问题 | phper之家

来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 07:27:48

关于PHP处理MSSQL的text字段内容被截取的问题

由 phpercn 于 星期三, 08/18/2010 - 13:46 发表

 

PHP在查询MSSQL数据库的text字段的内容时,如果内容长度过长,则会有部分内容被截取。这也许并不是我们想要的结果,解决办法:

1、修改php.ini文件

打开php.ini文件,查找mssql.textlimit,可以找到如下内容:

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

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

把mssql.textlimit = 4096和mssql.textsize = 4096两行前面的分号去掉,将数值改大,重新启动服务。

 2、通过ini_set进行设置

上面说的是有服务器管理权限的情况下的解决办法。也许有些时候我们并没有服务器管理权限,那只能在程序上进行设置了。

@ini_set( mssql.textsize , 200000) ;

加上这句即可以完成设置。

 3、通过执行SQL语句来解决

如:mssql_query ( 'SET TEXTSIZE 65536' , $myConn );

其中,$myConn是数据连接标识。这是比较原始的写法,要表达的意思就是执行'SET TEXTSIZE 65536'这样一条SQL语句。

 

注意:如果字段类型是ntext,有时会出现乱码现象,看上去有点像是内容被不正常截取。这种情况可以在SQL语句中将内容转换成text类型,写法如下:

select id,convert(text,content) as content from news...