在php连接mssql 时我突然发现nvarchar被截为255了,后面数据丢失了,而text也被截取了,下面我们查了手册做了如下解决办法.
nvarchar被截为255解决办法:
PHP 将 nvarchar 按照 MySQL 的 varchar 处理了吧,代码如下:
select cast(目标字段 as text) from 表名
假如你的 article 表中有个字段 summary 为 nvarchar,那么命令为:
select cast(summary as text) from article
另一种情况text被截段解决办法:
PHP 的配置文件 php.ini 中 MSSQL 部分:
[MSSQL] ; Valid range 0 - 2147483647. Default = 4096. mssql.textlimit = 4096 //开源代码phprm.com ; Valid range 0 - 2147483647. Default = 4096. mssql.textsize = 4096
请看这两个配置参数:
; Valid range 0 - 2147483647.Default = 4096.
mssql.textlimit = 4096
; Valid range 0 - 2147483647.Default = 4096.
mssql.textsize = 4096
相信你现在已经知道了问题的关键所在,只需要将这两个数值改大即可,不过,同时也要考虑:
; Maximum size of POST data that PHP will accept.
post_max_size = 2M
需要根据实际情况设置.