小弟我在server2000数据库article表单中有一个类型是‘ntext’的字段,字段名是context。此字段是用来存放文章内容的,我用php读取此字段内容用语句:PHP code:
$result=mssql_query("select convert(text,content) as content from article where articleid='$articleid' ");
此语句可以正确执行,但问题是有的文章内容很多,用‘text’只能读取大约5000个汉字,剩下的就无法显示,我不知道用什么办法可以把所有的内容都读取出来。请各位大哥帮帮忙给点意见或建议,小弟我谢谢了。(数据库是固定不能修改的,只能用PHP代码来解决。)
我用下面代码读取context字段:
PHP code:
while ( $row = mssql_fetch_row($result))
{
echo $row[0];
}
我觉得是变量$row不能存储那么长的字符,但我不懂怎么设定变量存储字符的长度?
终于找到问题所在,sql server 2000中'text'类型只能存储4096个字符,所以'ntext'装换成‘text’类型后,超过4096字符后面的字符全部都丢失。大家有什么办法能够全部读取完'ntext'类型字段的所有内容?
问题解决,方法如下:
PHP在操作SQL Server数据库时,只能发送4096B的字符,如果按照这个设置,在发布一些内容比较长的信息时,会导致信息不全,因此,需要修改php.ini中相关的设置:
用任意文本编辑器打开php.ini,
找到
;mssql.textlimit = 4096
改为
mssql.textlimit = 2147483647