著者: Wenlong Wu
1. MS SQL SERVER データベースの場合
次の 2 つの解決策があります:
php.ini を変更して達成します: php.ini を開くと、2 つのオプションが表示されます: mssql.textsize と mssql.textlimit:
; 有効範囲は 0 - 2147483647。デフォルト = 4096。
;mssql.textlimit = 4096
096 バイト、また、よく遭遇するのは、4K に切り詰められ、適切なサイズに変更し、先頭のセミコロンを削除して保存することです。そしてWEBサーバーを再起動します。
上記の 2 つのオプションから、範囲は 0 ~ 2147483647 バイトであることがわかります。実際には、-1 も許容されます。-1 は無制限を意味することがわかります:)
if (MS_SQL_G) (textlimit) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT,buffer)==FAIL) {
efree(hashed_details); dbfreelogin(mssql.login ); }
}
if (MS_SQL_G(textsize) != -1) { sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize)); ;
dbsqlexec(mssql.link);
dbresults(mssql.link)
}
PHPでクエリの前にSET TEXTSIZEを実行する SELECTの前に行うだけ
mssql_query("SET TEXTSIZE 65536"); PHP ソース コードで、SET TEXTSIZE が実際に実行されることがわかります:)
2 番目に、Sybase データベースの場合
この拡張機能には、php.ini に SQL SERVER のような設定するオプションがないため、唯一の方法は上記の 2 番目の方法を使用することです。つまり:
SELECT の前に実行
sybase_query("SET TEXTSIZE 65536");
http://www.bkjia.com/PHPjc/319932.html
www.bkjia.com
true