是否有解决方法(除了将列类型更改为文本字段)以使用PHP和mssql库选择大型varchar字段?例如varchar(500)。 PHP真的将字符数限制为255吗?有没有办法拉回来呢?
答案 0 :(得分:5)
从PHP页面看,问题似乎是Windows平台上的底层数据库驱动程序。 Varchar只能返回< 255个字符。解决方法是将varchar转换为sql SELECT语句中的文本。
答案 1 :(得分:4)
在MS SQL中将宽VARCHAR转换为TEXT:
SELECT convert(text,myWideField) FROM myTable
myWideField是被截断的列,myTable很好......我的表。
结果将转换为TEXT,返回超过256个字符。
d
答案 2 :(得分:3)
尝试更改freetds配置。
在服务器中,编辑/etc/freetds.conf
变化:
tds version = 4.2
为:
tds version = 8.0
在用户提供的备注Mssql Functions Reference中查看更多内容。
答案 3 :(得分:1)
我试图改变php.ini中的变量值:
mssql.textlimit = 2147483647
mssql.textsize = 2147483647
但不起作用......
我将列varchar(2000)的类型更改为varchar(max)。 这对我有用!
答案 4 :(得分:0)
我不确定要进行转换,我会将相关的字段类型更改为Text而不是Varchar。
答案 5 :(得分:-1)
原因实际上可能是MySQL而不是PHP ......在MySQL 5.0.3之前,MySQL本身只能在VARCHAR中存储255个字符。在以后的版本中,这个限制已经提高到65535。