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 相关文章推荐
Access数据库导入Mysql的方法之一
Oct 09 PHP
php 生成随机验证码图片代码
Feb 08 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
php url路由入门实例
Apr 23 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
PHP微信支付开发实例
Jun 22 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 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
BBS(php & mysql)完整版(七)
2006/10/09 PHP
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
Python的一些用法分享
2012/10/07 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python正则表达式完全指南
2017/05/25 Python
Python PIL图片添加字体的例子
2019/08/22 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
大学毕业感言50字
2014/02/07 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
单位委托书范本
2014/04/04 职场文书
高中生评语大全
2014/04/25 职场文书
条幅标语大全
2014/06/20 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
年会主持人开场白台词
2015/05/29 职场文书
聘任书格式及范文
2015/09/21 职场文书
礼仪培训心得体会
2016/01/22 职场文书
python的变量和简单数字类型详解
2021/09/15 Python