convert(text,content)
修改php.ini ,去掉前面的;,将那个4096改大即可。
[MSSQL]
mssql.textlimit = 4096
//以下度娘
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...
留下你的看法: