1. 程式人生 > >php讀取mssql中的text欄位不完整的問題

php讀取mssql中的text欄位不完整的問題

修改php.ini ,去掉前面的;,將那個4096改大即可。
[MSSQL]
mssql.textlimit = 4096

PHP在查詢MSSQL資料庫的text欄位的內容時,如果內容長度過長,則會有部分內容被擷取。這也許並不是我們想要的結果,解決辦法:

1、修改php.ini檔案

開啟php.ini檔案,查詢mssql.textlimit,可以找到如下內容:

;Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096

; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096

把mssql.textlimit = 4096和mssql.textsize = 4096兩行前面的分號去掉,將數值改大,重新啟動服務。

2、通過ini_set進行設定

上面說的是有伺服器管理許可權的情況下的解決辦法。也許有些時候我們並沒有伺服器管理許可權,那隻能在程式上進行設定了。

@ini_set( mssql.textsize , 200000) ;

加上這句即可以完成設定。

3、通過執行SQL語句來解決

如:mssql_query ( 'SET TEXTSIZE 65536' , $myConn );

其中,$myConn是資料連線標識。這是比較原始的寫法,要表達的意思就是執行'SET TEXTSIZE 65536'這樣一條SQL語句。

注意:如果欄位型別是ntext,有時會出現亂碼現象,看上去有點像是內容被不正常擷取。這種情況可以在SQL語句中將內容轉換成text型別,寫法如下:

select id,convert(text,content) as content from news