首页 > 数据库技术 > 详细

MSSQL数据库中Text类型字段在PHP中被截断之解 (转)

时间:2014-03-03 17:54:16      阅读:757      评论:0      收藏:0      [点我收藏+]

在PHP中使用了MSSQL数据库,恰巧数据库中又使用了Text类型字段,于是问题产生了。每次从数据库中查询得到的数据总是被莫名的截断,一开始是以为我使用的PHP框架中对字符串的长度有所限制,后来发现这是个较愚蠢的想法,因为在提交数据时可以将字符串内容全部的提交到数据库中,只是读取时发生此现象,于是上网搜寻是否有类似的问题。运气还挺不错,第一次搜索就找到了解决的办法,遂决定将其转贴在我的Blog中,供自己和广大PHP爱好者的不时之需。
   有两种解决方案,如下:   
   一、修改php.ini来实现:   
           打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:   
            ;   Valid   range   0   -   2147483647.   Default   =   4096.     
            ;mssql.textlimit   =   4096     
    
            ;   Valid   range   0   -   2147483647.   Default   =   4096.     
            ;mssql.textsize   =   4096   
    
            可以看到默认配置为4096字节,也就是经常碰到的被截断为4K,将之改为合适的大小,去掉前面的分号,然后保存并重起WEB服务器即可。   
    
            从上面两个选项可看到范围为:0   -   2147483647字节。

bubuko.com,布布扣              if   (MS_SQL_G(textlimit)   !=   -1)   {   
bubuko.com,布布扣                          
sprintf(buffer,   "%li",   MS_SQL_G(textlimit));   
bubuko.com,布布扣                          
if   (DBSETOPT(mssql.link,   DBTEXTLIMIT,   buffer)==FAIL)   {   
bubuko.com,布布扣                                      efree(hashed_details);   
bubuko.com,布布扣                                      dbfreelogin(mssql
.login);   
bubuko.com,布布扣                                      RETURN_FALSE;   
bubuko.com,布布扣                          }   
bubuko.com,布布扣              }   
bubuko.com,布布扣              
if   (MS_SQL_G(textsize)   !=   -1)   {   
bubuko.com,布布扣                          
sprintf(buffer,   "SET   TEXTSIZE   %li",   MS_SQL_G(textsize));   
bubuko.com,布布扣                          dbcmd(mssql
.link,   buffer);   
bubuko.com,布布扣                          dbsqlexec(mssql
.link);   
bubuko.com,布布扣                          dbresults(mssql
.link);   
bubuko.com,布布扣              }   

    二、 在PHP中执行SELECT查询之前执行SET   TEXTSIZE:  

bubuko.com,布布扣 mssql_query("SET   TEXTSIZE   65536"); 

 

   从上面PHP源代码中可看到其实也是执行SET   TEXTSIZE的。

MSSQL数据库中Text类型字段在PHP中被截断之解 (转),布布扣,bubuko.com

MSSQL数据库中Text类型字段在PHP中被截断之解 (转)

原文:http://www.cnblogs.com/lzsnolimit/p/3577661.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!