php が sqlserver に接続するときのエラーの解決策: 1. php.in を開き、extension=php_mssql.dll のコメント記号を削除します; 2. ntwdblib.dll ファイルを見つけます; 3. SQL Server 構成マネージャーを実行します。ポートを使用するだけです。
この記事の動作環境: 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('localhost','sa','123456'); mssql_select_db('gu_dde',$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 サイトの他の関連記事を参照してください。