PHP和mssql库可以从varchar列中选择超过256个字符吗?

时间:2009-03-04 05:57:14

标签: php sql-server

是否有解决方法(除了将列类型更改为文本字段)以使用PHP和mssql库选择大型varchar字段?例如varchar(500)。 PHP真的将字符数限制为255吗?有没有办法拉回来呢?

6 个答案:

答案 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。