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+MSSQL分页的例子
Oct 09 PHP
MYSQL数据库初学者使用指南
Nov 16 PHP
php中用文本文件做数据库的实现方法
Mar 27 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP迅雷、快车、旋风下载专用链转换代码
Jun 15 PHP
PHP面向对象精要总结
Nov 07 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
PHP类型约束用法示例
Sep 28 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
JS eval代码快速解密实例解析
2020/04/23 Javascript
JS实现放大镜效果
2020/09/21 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
django正续或者倒序查库实例
2020/05/19 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
会计实习自我鉴定
2013/12/04 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
小学美术教学反思
2014/02/01 职场文书
2014年工商所工作总结
2014/12/09 职场文书
入党转正介绍人意见
2015/06/03 职场文书
关于分班的感言
2015/08/04 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL