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


Posted in PHP onMarch 10, 2009

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");

PHP 相关文章推荐
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
析构函数与php的垃圾回收机制详解
Oct 28 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
更改localhost为其他名字的方法
Feb 10 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
php生成短网址/短链接原理和用法实例分析
May 29 PHP
php mssql 日期出现中文字符的解决方法
Mar 10 #PHP
linux php mysql数据库备份实现代码
Mar 10 #PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 #PHP
php 数组的创建、调用和更新实现代码
Mar 09 #PHP
在JavaScript中调用php程序
Mar 09 #PHP
隐性调用php程序的方法
Mar 09 #PHP
php动态生成JavaScript代码
Mar 09 #PHP
You might like
Yii框架的路由配置方法分析
2019/09/09 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
angularJS 入门基础
2015/02/09 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
ant design实现圈选功能
2019/12/17 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
Python 实现域名解析为ip的方法
2019/02/14 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
python中取绝对值简单方法总结
2020/07/24 Python
python实现AdaBoost算法的示例
2020/10/03 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
python中doctest库实例用法
2020/12/31 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
美国五金商店:Ace Hardware
2018/03/27 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
装修五一活动策划案
2014/01/23 职场文书
心理健康日活动总结
2014/05/08 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
联欢会开场白
2015/06/01 职场文书
医院病假条怎么写
2015/08/17 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android