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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
那些年一起学习的PHP(三)
Mar 22 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 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二维数组的去重问题解析
2011/07/17 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
对numpy中shape的深入理解
2018/06/15 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
利用Python检测URL状态
2019/07/31 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
Python 实现进度条的六种方式
2021/01/06 Python
十佳青年事迹材料
2014/08/21 职场文书
参观邀请函范文
2015/02/02 职场文书
运动会通讯稿600字
2015/07/20 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技