ホームページ  >  記事  >  バックエンド開発  >  php を SQLserver に接続する際にエラーが発生した場合の対処方法

php を SQLserver に接続する際にエラーが発生した場合の対処方法

藏色散人
藏色散人オリジナル
2021-10-15 09:54:161982ブラウズ

php が sqlserver に接続するときのエラーの解決策: 1. php.in を開き、extension=php_mssql.dll のコメント記号を削除します; 2. ntwdblib.dll ファイルを見つけます; 3. SQL Server 構成マネージャーを実行します。ポートを使用するだけです。

php を SQLserver に接続する際にエラーが発生した場合の対処方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

こんな場合はどうすればよいですかphp で sqlserver に接続するとエラーが発生します?

php が sqlserver に接続する問題について

利用する際の注意点php を使用して sqlserver2000

1. php

## を設定します #a. php.in を開き、extension=php_mssql.dll のコメント記号を削除します。

b. php.in を開きます。プログラムとデータベースが同じサーバー上にある場合は、mssql.secure_connection = Off を on に変更してください。2 つのサーバー上にある場合は、off に変更してください。それ以外の場合は、 「ユーザーのログインに失敗しました (Null)」などのエラーを報告します。

c. php_mssql.dll を、php.in の extension_dir で指定されたディレクトリまたはシステムの system32 ディレクトリにコピーします。 (php_mssql.dll は php の圧縮インストール パッケージに含まれています)。

2. ntwdblib.dll ファイルに注意してください

a. sqlserver2000 がインストールされているサーバーの system32 ディレクトリで ntwdblib.dll ファイルを見つけ、プロパティでそのバージョンを確認し、次に、これを標準として使用します。プログラム サーバーの php ディレクトリ内の対応するファイルを上書きします。

b. apache2/bin にある対応するファイルも上書きする必要があります。 (多くの人がこの手順に気づかずに接続できませんでした。私もそうでした)

上記の手順を完了したら、Apache を再起動する必要があります。

注: 実際の使用では、php 圧縮ファイルを使用して iis に php を手動でインストールする場合、iis だけでなくマシンも再起動する必要があることがわかりました。

3. sqlserver を構成します

a. SQL Server 構成マネージャーを実行します: SQL Server 構成マネージャー、プロトコルを開きます

b. 名前付きパイプ "named Pipes" および " tcp/" を許可します。 ip"

c. 「tcp/ip」を右クリックし、「プロパティ」タブ「IP アドレス」を開きます。

d. TCP 動的ポート「TCP 動的ポート」に 1433## を入力します。

#e. SQL Server を再起動します

---------------------------------- - -------------- ---------------------------------- -- --------

4. 次の方法を使用して MS SQL Server 2005 に接続します:

コードは次のとおりです:

<?php
//链接数据库
$conn=mssql_connect(&#39;localhost&#39;,&#39;sa&#39;,&#39;123456&#39;);
mssql_select_db(&#39;gu_dde&#39;,$conn);
//query语句
$Query="select * from dde_top";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
?>

これらの関数とMySQLの関数は全て対応していてとても使いやすいです!

------------------------------------------ ------ ----------------------------

5.FAQ よくある質問:

1エラー レポート:

致命的エラー: 未定義の関数 mssql_connect() への呼び出し

解決策:

MSSQL_series 関数を使用します

これらの両方を使用するには、php.ini を構成する必要があります。設定を行います:

(1) DCOM を許可するには、php.ini の ;com.allow_dcom=TRUE の前のセミコロン「;」を削除する必要があります。

(2) MSSQL 拡張機能を使用するには、php.ini の ;extension=php_mssql.dll の前のセミコロン「;」を削除する必要があります。 (キー)

(3) このマシンを例として、extension_dir が正しいパスであることを確認します: extension_dir = "c:\AppServ\php5\ext"。

(4) マシンが依然として c:\AppServ\php5\ext\php_mssql.dll が見つからないというエラーを報告するが、このファイルは明らかに存在する場合。

解決策: php_mssql.dll と ntwdblib.dll をシステム ディレクトリ \system32 にコピーし、テストを再開します。 。

(注: 上記 2 つの DLL ファイルは同じディレクトリにありません。私のファイルは c:\AppServ\php5\ext\php_mssql.dll; c:\AppServ\php5\ntwdblib.dll です)

ntwdblib.dll も apache2/bin/ ディレクトリにコピーします。

また、サーバーをセットアップした後は必ず再起動してください。

6. その他の質問:

php apache Sql Server2000 が同じマシン上にある場合、基本的には問題なくアクセスできます。

SQL Server2000とPHPのマシンが離れている場合、SQL Serverが存在するマシンのマシン名でpingが通るか確認する必要があり、通らない場合は\system32以下のhostsファイルを修正してください。 PHP マシンの \drivers\etc に行を追加します sqlserver が配置されているマシンのマシン IP sqlserver が配置されているマシンのマシン名

それでもアクセスできない場合は、php が配置されているマシンに mdac へのシークレット変換があるかどうかを確認する必要があります。単純に sqlserver クライアントをインストールしてみてはいかがでしょうか。

推奨学習: 「

PHP ビデオ チュートリアル

以上がphp を SQLserver に接続する際にエラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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