Author: Wenlong Wu
一、針對MS SQL SERVER資料庫
有兩種解決方案,如下:
修改php.ini來實作: 開啟php.ini,可看到mssql.textsize,mssql.textlimit兩個選項:
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
Valid range 0 - 4. ;mssql.textsize = 4096
可以看到預設配置為4096字節,也就是經常碰到的被截斷為4K,將之改為合適的大小,去掉前面的分號,然後保存並重起WEB伺服器即可。
從上面兩個選項可看到範圍為:0 - 2147483647字節,其實-1也可以的,查看一下PHP源代碼即可發現-1表示無限制:)
if (MS_SQL_G(textlimit ) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
RETURN_FALSE;
}
sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize));
dbcmd(mssql.link, buffer);
dbsqlexec(mssql.link);
》 》》+(ms);在PHP中查詢之前執行SET TEXTSIZE 合適的大小: 只需在SELECT之前執行
mssql_query("SET TEXTSIZE 65536");
從上面PHP源代碼中可看到其實也是
二、針對Sybase資料庫
由於此擴充功能在php.ini沒有像SQL SERVER那樣的選項可配置,所以只有採用上面的第二種方法,即:
在SELECT之前執行
sybase_query("SET TEXTSIZE 65536");
以上就介紹了sql server 2000 下載 PHP中查詢SQL Server或Sybase時TEXT欄位被截斷的解決方法,包括了sql server 2000 下載方面的內容,希望對PHP教學有興趣的朋友有幫助。