PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法

 更新时间:2009年03月10日 21:11:05   作者:  
在CSDN的PHP版里老是看到有人问TEXT字段被截断的问题,偶也回答了无数次,今天索性就总结一下吧
Author: Wenlong Wu
一、针对MS SQL SERVER数据库
   有两种解决方案,如下:
   修改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字节,其实-1也可以的,查看一下PHP源代码即可发现-1表示无限制 :)
  
if (MS_SQL_G(textlimit) != -1) {
   sprintf(buffer, "%li", MS_SQL_G(textlimit));
   if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
   efree(hashed_details);
   dbfreelogin(mssql.login);
   RETURN_FALSE;
   }
   }
   if (MS_SQL_G(textsize) != -1) {
   sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize));
   dbcmd(mssql.link, buffer);
   dbsqlexec(mssql.link);
   dbresults(mssql.link);
   }
   在PHP中查询之前执行SET TEXTSIZE 合适的大小: 只需在SELECT之前执行
   mssql_query("SET TEXTSIZE 65536");
   从上面PHP源代码中可看到其实也是执行SET TEXTSIZE的 :)
  二、针对Sybase数据库
   由于该扩展在php.ini没有像SQL SERVER那样的选项可配置,所以只有采用上面的第二种方法,即:
   在SELECT之前执行
   sybase_query("SET TEXTSIZE 65536");

相关文章

  • php7基于递归实现删除空文件夹的方法示例

    php7基于递归实现删除空文件夹的方法示例

    这篇文章主要介绍了php7基于递归实现删除空文件夹的方法,结合具体实例分析了php7递归遍历目录及判断、删除等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • PHP整合PayPal支付

    PHP整合PayPal支付

    PayPal作为全球运用最广的在线支付工具,一直被很多外贸B2C网站纳为首选支付工具。不过对于自主开发网站的商户来说,PayPal接口的集成经常遇到很多问题,今天Lance就在这里给大家分享一下php项目中PayPal接口的集成方法。
    2015-06-06
  • PHP应用JSON技巧讲解

    PHP应用JSON技巧讲解

    PHP应用JSON的相关函数为:json_encode($PHPcode);而应用PHP解析JSON的函数则为:json_decode($JSONcode);等。我们在文章中将做详细介绍
    2013-02-02
  • php写入txt乱码的解决方法

    php写入txt乱码的解决方法

    在本篇文章里小编给大家分享的是关于php写入txt乱码的知识点以及解决方法,有需要的朋友们参考下。
    2019-09-09
  • Laravel实现批量更新多条数据

    Laravel实现批量更新多条数据

    这篇文章主要介绍了Laravel实现批量更新多条数据,需要的朋友可以参考下
    2020-04-04
  • php从数组中随机选择若干不重复元素的方法

    php从数组中随机选择若干不重复元素的方法

    这篇文章主要介绍了php从数组中随机选择若干不重复元素的方法,涉及php数组操作的相关常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 如何让PHP的代码更安全

    如何让PHP的代码更安全

    虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现。针对于PHP代码开发的网站,在给客户做网站安全检测的同时,大大小小的都会存在网站的后台管理页面被绕过并直接登录后台的漏洞,而且每个网站的后台被绕过的方式都不一样。本文将讨论此问题。
    2021-05-05
  • 继续收藏一些PHP常用函数

    继续收藏一些PHP常用函数

    方便以后制作php程序,直接拿来就可以用了,其实一些好的函数都在一些较成熟的cms系统中都有,例如dedecms,帝国cms,phpcms等,不论是gb2312的还是utf8格式的都有。
    2008-08-08
  • php中in_array函数用法探究

    php中in_array函数用法探究

    这篇文章主要介绍了php中in_array函数用法,对in_array函数参数匹配的用法进行了较为深入的探究,有助于较为全面的理解in_array函数的用法,需要的朋友可以参考下
    2014-11-11
  • nginx+thinkphp下解决不支持pathinfo模式

    nginx+thinkphp下解决不支持pathinfo模式

    这篇文章主要介绍了nginx+thinkphp下解决不支持pathinfo模式的相关资料,需要的朋友可以参考下
    2015-07-07

最新评论