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

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.

打赏此文

如果您觉得本站的内容对您有所帮助,您可以扫描下面的二维码小额支付请我喝杯茶,感谢!打赏记录
支付宝
微信
承诺:凡打赏捐助的朋友,留言备注自己的邮箱,在打赏捐助时间点的6个月内,本站会每周邮件推送原创专业技术博文,供大家学习和参考!

留下评论

All fields marked (*) are required