第一次使用 PHP 连接 MSSQL 的朋友经常遇到这个问题:text 字段总是会被无故截断,只能发一两千字,有时截断时还出现乱码情况,而将执行插入的 SQL 语句输出却没有任何问题。呵呵,其实这个问题很简单:
PHP 的配置文件 php.ini 中 MSSQL 部分:
[MSSQL] ; Allow or prevent persistent links. mssql.allow_persistent = On ; Maximum number of persistent links. -1 means no limit. mssql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. mssql.max_links = -1 ; Minimum error severity to display. mssql.min_error_severity = 10 ; Minimum message severity to display. mssql.min_message_severity = 10 ; Compatability mode with old versions of PHP 3.0. mssql.compatability_mode = Off ; Connect timeout ;mssql.connect_timeout = 5 ; Query timeout ;mssql.timeout = 60 ; Valid range 0 - 2147483647. Default = 4096. mssql.textlimit = 4096 ; 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
需要根据实际情况设置。