ホームページ >バックエンド開発 >PHPチュートリアル >php を SQL サーバーに接続する方法、phpsqlserver_PHP チュートリアル
手順:
1: PHP5.2.x 自体には SQL サーバーに接続するための php_mssql.dll の拡張子がありますが、この dll は下位バージョンの SQL サーバーに接続するためにのみ使用されます (mssql_connect は SQL サーバー 2005 では使用できません)。データベースに接続します。
2: php5.3.x では php_mssql.dll 拡張ライブラリがサポートされなくなり、php5.2.x で php_mssql.dll を使用しても使用できなくなります。 Microsoft は、PHP 用の SQL Server 拡張機能 (Windows バージョン) を特別に開発しました。Windows で PHP を使用して SQL Server アプリケーションを開発する場合、この拡張機能は SQL Server を使用して SQL Server データベース管理システムに接続する PHP プラットフォームを開発するのに役立ちます。
1. php5.3未満のバージョンのSQLサーバーに接続します
5.3 より前のバージョンの拡張機能には、データベースに接続するための php_mssql.dll が付属しており、この拡張機能を使用してデータベースにリンクできます (以前のバージョンのデータベースへのリンクにのみ限定されます)。
具体的な手順は次のとおりです:
1: まず SQL サーバーをインストールします。以前にインストールしたバージョンは 2008 バージョンで、Windows の有効期限が切れると使用できなくなりました。システムがインストールされました
2: SQL のインストール時に混合認証モードまたは SQL 検証モードが使用されていることを確認し、php 構成ファイル (php.ini) を開き、mssql 拡張機能を有効にします (extension=php_pdo_mssql.dll の前のセミコロンを削除します)。 add mssql .secure_connection = On は再起動後に有効になります。
問題なく完了した場合は、すでにデータベースに接続できています。接続できない場合は、低構成で続行する必要があります。
3: ntwdblib ファイル (php/below および Apache/below) のバージョンを確認し、正しいバージョンの ntwdblib.dll (2000.80.194.0) をダウンロードして、既存の DLL ファイルを上書きします (ntwdblib.dll、php_mssql.dll を system32 ディレクトリにコピーします)また) ntwdblib.dll は、PHP が MSSQL2005 または 2008 に接続するために使用されるドライバー ファイルです。
4: テスト接続: mssql_connect('localhost,1433', 'ユーザー名', 'パスワード');
2. php5.3以降はSQLサーバーに接続します
実際、PHP バージョン 5.3 よりも前のバージョンはほとんど使用されておらず、セキュリティと互換性も良くないため、依然として上位バージョンの PHP が比較的一般的です。以前のバージョンの PHP ではデータベースへの接続の成功率が低いことが実際に証明されています (2005 以降のバージョンはほとんど使用できません)。SQLServer データベースへの接続には、PHP5.3 以降と Microsoft の特殊な拡張機能 SQLSRV を使用することをお勧めします。
手順は次のとおりです。
1: まず、Microsoft の Web サイトにアクセスして、PHP 用の SQL Server ドライバーをダウンロードします。これは、解凍後、次のファイルを取得します。
わからない場合は、以下に示すように phpinfo の Zend Extension Build 属性を確認してください。
2: 拡張機能を php/ext ディレクトリにコピーし、次のコードを php.ini ファイルに追加します。
extension=pdo ext の下の拡張子 (pdo 用)
3: サーバーを再起動し、phpinfo() を開くと、次のステータスが表示され、拡張機能が正常に追加されたことがわかります。
4: 接続テスト:
リーリー
このバージョンでは、ここでの接続は mssql_connect ではなく、sqlsrv_connect であることに注意してください。
sqlsrv_connect sqlsrv_close
sqlsrv_commitsqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
。
また、この拡張機能を使用して SQL Server 2005 以降 (SQL Server 2008 など) に接続する場合は、最初に SQL Server Native Client をマシンにインストールする必要があることにも注意してください
そうしないと、次のエラーが表示されます:
配列
0 =>配列
0 =>文字列'IMSSP'(長さ=5)
'SQLSTATE' =>文字列'IMSSP'(長さ=5)
1 =>int-49
'コード' =>int-49
2 =>string'この拡張機能には Microsoft SQL Server 2012 Native Client が必要です。次の URL にアクセスして、x86 用の Microsoft SQL Server 2012 Native Client ODBC ドライバーをダウンロードします。 http://go.microsoft.com/fwlink/?LinkId= 163712'(長さ=216)
'message' =>string'この拡張機能には Microsoft SQL Server 2008 Native Client が必要です。x86 用の Microsoft SQL Server 2008 Native Client ODBC ドライバーをダウンロードするには、http://go.microsoft.com/fwlink/? =163712'(長さ=216)
1 =>配列
0 =>文字列'IM002'(長さ=5)
'SQLSTATE' =>文字列'IM002'(長さ=5)
1 =>int0
'コード' =>int0
2 =>文字列 '[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、デフォルトのドライバーが指定されていません'(length=71)
'message' =>string '[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、デフォルトのドライバーが指定されていません'(length=71)
。
解決策: SQL Server 2008 Native Client ODBC Driver をインストールし、インストール ファイル sqlncli.msi をダウンロードしてインストールする必要があります。
上記はphpをSQLサーバーに接続する方法です。これが皆さんの同様の問題の解決に役立つことを願っています。