PHP处理MSSQL的VARCHAR类型时最多取255个字符的BUG及解决办法

实践中发现,PHP在读取MSSQL的VARCHAR类型的数据时,最多只读取255个字符,可能是Mysql中varchar最长255的缘故,它大概不知道MSSQL支持8000个字符。这个BUG看来一时半会儿PHP不会给改好的,没有办法了,只能想另外的招。
1. 把字段设置成text类型
这种办法对于已有的系统似乎不合适,不能因为PHP的BUG就兴师动众地把VARCHAR都改为TEXT,再说了TEXT用起来也不方便。
2. 返回结果集给PHP时转化成TEXT,存储过程的参数也改为TEXT类型。
例如:select cast(var_field as TEXT) as var_field from table_name
这样就足够用了。

TEXT类型的长度限制在PHP.ini中可以进行设置。

 

发表评论