今日、php を使用して mssql データベースに接続したところ、クエリを実行した後、ntext フィールドが php でサポートされていないことがわかりました。解決策は次のとおりです。 ntext フィールドをテキストに変更します。
テーブルに ntext フィールドがない場合は、次のコードを使用できます:
コードは次のとおりです |
コードをコピー |
// MSSQL に接続します
$link = mssql_connect('KALLESPCSQLEXPRESS', 'sa', 'dsc');
if(!$link || !mssql_select_db('php', $link))
{
die('データベースに接続または選択できません!');
}
// 簡単なクエリを実行し、のバージョンを選択します
// MSSQL を実行して出力します
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);
エコー $row[0];
//掃除
mssql_free_result($version);
?>
| テーブルに ntext フィールドがあり、それをテキスト フィールドに戻すことが難しい場合は、次のことができます:
1.php.iniを変更します
php.iniを開く
見つかりました:
コードは次のとおりです
コードをコピー
|
|
;mssql.textlimit = 4096
に変更します
mssql.textlimit = 2147483647
見つかりました:
;mssql.textsize = 4096
に変更します
mssql.textsize = 2147483647
| 2. SQL サーバーでは、ntext フィールドと nvarchar フィールドはコンテンツの保存に Unicode エンコーディングを使用するため、変更されたフィールドを使用できます。
したがって、PHP が mssql 拡張機能を介して ntext および nvarchar 型のフィールドを読み取ると、エラーが発生します。
タイトル フィールドのタイプが nvarchar で、コンテンツ フィールドのタイプが ntext の場合、次の SQL ステートメントはエラーを報告します:
間違い:
コードは次のとおりです
コードをコピー
|
| 記事からタイトル、内容を選択
正解:
タイトルとして Convert(varchar(255), title) を選択します、
(テキスト, コンテンツ) をコンテンツとして変換
記事より
3. 仮想ホストの場合は、adodb コンポーネントを使用して読み取ることができます。ホストがサポートしていない場合、現時点では私にできることは何もありません。 |
コードは次のとおりです
コードをコピー
|
include("adodb/adodb.inc.php"); // adodb クラス ライブラリ ファイルをインクルードします |
$conn=NewADOConnection('odbc_mssql') //SQL Server データベースに接続します
$conn->Connect("ドライバー={SQL Server};サーバー=ローカルホスト;
データベース=mydb;",'ユーザー名','パスワード');
?>
|
http://www.bkjia.com/PHPjc/630702.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/630702.html技術記事今日、PHP を使用して mssql データベースに接続したところ、クエリを実行した後、ntext フィールドが PHP でサポートされていないことがわかりました。解決策としては、変更する必要があります。 ntext フィールドを...