ホームページ >php教程 >php手册 >PHP チュートリアル: PHP は MS SQL データ テーブルを読み取れません

PHP チュートリアル: PHP は MS SQL データ テーブルを読み取れません

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-21 08:56:401254ブラウズ

その理由は次のとおりです: PHP による mssql の ntext 型のサポート;

今日ずっと作業してたんですが、データベースには当然接続できるんですが、データが読めません。 Google や Baidu で検索した結果、mssql を読み込むときに PHP によって返される ntext フィールドが空であることがわかりました。ntext フィールドを text に変更することをお勧めします。

テーブルに ntext フィールドがない場合は、次のコードを使用できます:

// Connect to MSSQL
$link = mssql_connect('KALLESPCSQLEXPRESS', 'sa', 'phpfi');

if(!$link !mssql_select_db('php', $link))
{
die('Unable to connect or select database!');
}

// Do a simple query, select the version of
// MSSQL and print it.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];

// Clean up
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 ステートメントはエラーを報告します:

間違い:

select title,content from article

正解:

select convert(varchar(255),title) as title, convert(text,content) as content from article

3. 仮想ホストの場合は、adodb コンポーネントを使用して を読み取ることができます。ホストがサポートしていない場合、現時点では私にできることは何もありません。

include("adodb/adodb.inc.php"); //包含adodb类库文件
$conn=NewADOConnection('odbc_mssql'); //连接SQL Server数据库
$conn->Connect("Driver={SQL Server};Server=localhost;Database=mydb;",'username','password');
?>
include("adodb/adodb.inc.php") //adodb クラス ライブラリ ファイルをインクルードします $conn=NewADOConnection('odbc_mssql'); //SQL Server データベースに接続します

$conn->Connect("Driver={SQL Server};Server=localhost;Database=mydb;",'username','パスワード ');
?> テーブル>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。