很自虐的搭配php+MSSQL,太多的坑,就不说text型被截断了。
受限于现有的asp+mssql应用,新增的部分功能使用php开发。对一个表的读写,后台使用asp,读写都很正常。前台一个调用是php写的,但就是遇到一个诡异的问题,要对数据做一个很复杂的解析处理,结果是数据丢失一部分。一层一层的输出,最后才发现是从数据库读出来了数据就不完整,这可奇怪了。又不是text型的数据,加了ini_set()修正text型默认长度限制,也不行。
但被截断长度很奇怪,恰恰是254个字节,似乎正好是较老的mssql里varchar()的默认最大长度;而该字段的实际是varchar(1000);
难道是字段类型问题?
于是修改该字段为text型,再执行,全好了,没有一点异常。
看来php+mssql实在是个自虐的搭配,不知道还有多少坑....
不过限于老的程序架构,也是个没办法的,人总是要吃饭的....
[另记: 盘点php+mssql下的坑]
这些坑还是有解决方案的,先留着,以后补充
1 text/ntext型字段长度被截断
2 php下mssql 库不支持ntext类型的数据
3 “varchar(n) 其中n>254 ”类型数据被截断
4 php5.3以后的win32 官方二进制版不支持mssql库
延伸阅读
- MSSQL数据库超时 80040e31
- 如何将MS SQL数据库设置为单用户模式
- 一个无敌的下载站点:msdn I tell you,作什么用就不说了,谁用谁知道
- 不用“维护计划”实现mssql定期备份并压缩存档
- MS SQL SERVER 孤立用户问题
- microsoft sql server 2008数据库恢复到2005(版本降级)
- ms sql server下unix时间戳函数unix_timestamp, from_unixtime(与mysql兼容)
- MS SQL server 自定义函数:获取汉字拼音首字母(音序)
- Microsoft SQL server数据库转换为MySQL方法
- ms sql server 2005维护计划(备份)失败:应用于目标服务器 对于 xx 失败
- php下数据库持久连接,及apache模块下“数据库并发连接数超限”的潜在风险
- php获取客户端IP地址方法大汇总
- linux下PHP 激活mbstring扩展及php.ini中相关基本设置
- php 通过mssql_xx函数读mssql 2005记录, text/ntext字段非常速度慢
- [转]Smarty 学习随记,很不错,值得初学参考