PHP + MSSQL - 从数据库

时间:2015-07-27 07:42:10

标签: php

问题是如下。当我通过PHP从特定字段检索数据时,它被修剪为255个字符。尽管它在DB中的时间更长。

$query_Result = mssql_query("SELECT comment FROM commments WHERE id = 200");
$query_Data = mssql_fetch_assoc($query_Result);
echo strlen($query_Data['comment']);

故事如下。数据库是在我之前创建的,并且评论的长度为'场很短(甚至可能是255个字符)。我扩展了它:

ALTER TABLE commments 
ALTER COLUMN comment VARCHAR(1000) NULL

我应该做别的吗?该值通常存储 - 全长。但输出缩短为255个字符。

2 个答案:

答案 0 :(得分:3)

如果您提取的varchar字段大于255 letters,则结果将在255 letters处被截断。要防止这种情况,您必须在select子句中为此字段执行CONVERT(TEXT,data_field)。 所以你的代码本质上应该是

$query_Result = mssql_query("SELECT CONVERT(TEXT,comment) FROM commments WHERE id = 200");
$query_Data = mssql_fetch_assoc($query_Result);
echo strlen($query_Data['comment']);

答案 1 :(得分:0)

在Mysql 5.0.3之前,Varchar数据类型可以存储255个字符,但是从5.0.3开始可以存储65,535个字符。但它的最大行大小限制为65,535字节。这意味着包括所有列不得超过65,535字节。检查你的Mysql版本并使用TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT来存储大型文本