我用mssql_query()存儲一個長文本;爲什麼TEXT列只返回4096字節?
並使用名稱爲'text'的數據類型的字段。
我試着用不同的長字符串通過使用str_repeat(),頁面花費很長時間,但最終提交結果。 但是,當我檢索結果時,我只有4096字節無關緊要。 我試圖用管理工作室檢索價值,並得到相同的結果。
它在我看來就像一個存儲問題。請建議一些事情......我很困惑。
這些誰問編輯,這是我使用的是什麼:
function sql_escape($sql) {
/* De MagicQuotes */
$fix_str = stripslashes($sql);
$fix_str = str_replace("'","''",$sql);
$fix_str = str_replace("\0","[NULL]",$fix_str);
return "'".$fix_str."'";
}
$query=mssql_query('update prod_cat set htmlbottom='.sql_escape(str_repeat('\'choose_cat ', 122000)).
' where ID=1' );
$query=mssql_query('select htmlbottom from prod_cat where ID=1');
$a=mssql_fetch_assoc($query);
echo strlen($a['htmlbottom']);
你可以顯示* exact *表定義和你用來獲取數據的代碼嗎? –
停止使用TEXT,使用VARCHAR(MAX)(或可能是NVARCHAR(MAX))。 LEN(列)和DATALENGTH(列)返回什麼?你還可以顯示將數據添加到表格的代碼嗎?使用Management Studio來選擇數據不是有效的測試,因爲默認情況下,輸出被截斷(並且可以配置爲更高的數量,但不足以顯示TEXT列的全部內容)。 –
它返回1464000 – Anonymous