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

本文介绍了如何解决PHP在处理MSSQLSERVER和Sybase数据库时遇到的文本字段截断问题。通过修改php.ini配置文件中的mssql.textsize和mssql.textlimit选项,或者在查询前执行SETTEXTSIZE语句,可以调整字段大小限制,避免数据被截断。对于Sybase数据库,由于没有类似配置选项,只能直接在查询语句中设置SETTEXTSIZE。
摘要由CSDN通过智能技术生成

Author:WenlongWu

一、针对MSSQLSERVER数据库

有两种解决方案,如下:

修改php.ini来实现:打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:

;Validrange0-2147483647.Default=4096.

;mssql.textlimit=4096

;Validrange0-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,"SETTEXTSIZE%li",MS_SQL_G(textsize));

dbcmd(mssql.link,buffer);

dbsqlexec(mssql.link);

dbresults(mssql.link);

}

在PHP中查询之前执行SETTEXTSIZE合适的大小:只需在SELECT之前执行

mssql_query("SETTEXTSIZE65536");

从上面PHP源代码中可看到其实也是执行SETTEXTSIZE的:)

二、针对Sybase数据库

由于该扩展在php.ini没有像SQLSERVER那样的选项可配置,所以只有采用上面的第二种方法,即:

在SELECT之前执行

sybase_query("SETTEXTSIZE65536");

您可能感兴趣的文章:php使用sql数据库获取字段问题介绍PHP以指定字段为索引返回数据库所取的数据数组phpmssql扩展SQL查询中文字段名解决方法php面向对象字段的声明与使用php中将图片gif,jpg或mysqllongblob或blob字段值转换成16进制字符串PHPFORMYSQL代码生成助手(根据Mysql里的字段自动生成类文件的)php数据库字段复用的基本原理与示例php判断输入不超过mysql的varchar字段的长度范围mysql下创建字段并设置主键的php代码php获取字段名示例分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随与博主沟通,博主会及解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值