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 相关文章推荐
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
php使用百度ping服务代码实例
Jun 19 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
Yii2 GridView实现列表页直接修改数据的方法
May 16 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
js Array.slice的8种不同用法示例
2019/07/10 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
Python 40行代码实现人脸识别功能
2017/04/02 Python
python生成密码字典的方法
2018/07/06 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python 中如何获取列表的索引
2019/07/02 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
pytorch简介
2020/11/11 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
市场专员岗位职责
2014/02/14 职场文书
法人代表委托书
2014/04/04 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
批评与自我批评范文
2014/10/15 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS