php 读 mssql 的ntext 字段类型的问题

本文解决PHP读取MSSQL中NText字段数据不完整的问题,通过调整PHP配置并更改数据库连接方式,最终成功读取全部数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php + mssql 让真让人痛苦。这些读 php 读 mssql 的 ntext 字段类型问题又来了:当 ntext 的内容过长时,居然读不完整。

 

在网上找了很久,都是说 php 读 ntext 出错的,但没发现我的页面出错,就郁闷了。后来才查到是说 php 默认最大只能读 4K 的内容,原来是我的内容超过了 4K。修改方法如

 

下:

 

1、把 php 升级到 php5 。

 

    还好,我的已经是 php5 了。

 

2、调整 php.ini 的参数,把 php 默认最大只能读 4K 改大一点。

 

    ; Valid range 0 - 2147483647.  Default = 4096.

    ;mssql.textlimit = 4096

 

    ; Valid range 0 - 2147483647.  Default = 4096.

    ;mssql.textsize = 20480

 

 

 

    把 mssql.textlimit  和 mssql.textsize 前面的“;“去了,再把默认值勤改大一点,比如 20480 (20K)

 

3、重启 web 服务器。

 

 

本以为激动人心的时刻会来临,运行 php 页面,效果还是跟以前一样,字段数据没有完全读出来。后来又找到资料说 php 对 ntext 的支持不是很友好,要转为 text。于是又用 

 

Convert(text, content) 转了,无效果不说,还差一点把我的 iis 弄死。在网上找了很久都无解。就在我打算放弃时,一个尝试的概念让我把数据库连接方式改了一下。我把 

 

odbc_connect 改为 mssql_connect 居然就成功了。

 

 

看来, php 操作 mssql 还是 mssql_connect 好一点。为了尽量减少痛苦,还是尽快把数据库转为 mysql 吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值