ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルで SQL Server または Sybase にクエリを実行するときに TEXT フィールドが切り捨てられる問題の解決策

PHP_PHP チュートリアルで SQL Server または Sybase にクエリを実行するときに TEXT フィールドが切り捨てられる問題の解決策

WBOY
リリース: 2016-07-21 15:47:28
オリジナル
1440 人が閲覧しました

著者: 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

tru​​e

http://www.bkjia.com/PHPjc/319932.html

技術記事著者: Wenlong Wu 1. MS SQL SERVER データベースには次の 2 つの解決策があります: php.ini を変更して以下を実現します: php.ini を開くと、2 つのオプションが表示されます: mssql.textsize と mssql.textlimit...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート