手順:
1: PHP5.2.x 自体には SQL サーバーに接続するための php_mssql.dll の拡張子がありますが、この DLL は SQL サーバーの下位バージョン (SQL Server 2005 および 2000 より前のバージョン) に接続するためにのみ使用されます。上記のバージョンでは、mssql_connect を使用してデータベースに接続できません。
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 の前にセミコロン)、再起動後に有効にするには Set mssql.secure_connection = On が必要です。
問題なく完了した場合は、すでにデータベースに接続できています。接続できない場合は、低レベルの構成を続行する必要があります。
3: ntwdblib ファイル (php/以下および Apache/以下) のバージョンを確認してダウンロードします。 ntwdblib.dll の正しいバージョン (2000.80. 194.0) 既存の DLL ファイルを上書きします (ntwdblib.dll、php_mssql.dll を system32 ディレクトリにコピーすることもできます) ntwdblib.dll は、PHP が MSSQL2005 または 2008 に接続するために使用されるドライバー ファイルです。 。
4: 接続のテスト: mssql_connect('localhost,1433', 'username', 'password');
2. SQL サーバーに php5.3 以降を接続する
実際、セキュリティは言うまでもなく、5.3 より前のバージョンの php はほとんど使用されません。互換性が良くないため、php の上位バージョンが依然として比較的一般的です。以前のバージョンの PHP ではデータベースへの接続の成功率が比較的低いことが実際に証明されています (2005 以降のバージョンはほとんど使用できません)。PHP5.3 以降の PHP を使用し、Microsoft の特別な拡張機能 SQLSRV を使用して接続することをお勧めします。 SQLServer データベースの手順は次のとおりです:
1: まず Microsoft の Web サイトにアクセスします。PHP 用の SQL Server ドライバーをダウンロードすると、解凍後にいくつかのファイルが得られます:
分からない場合は、以下に示すように phpinfo で Zend Extension Build 属性を確認できます:
extension= pdo extension under ext (for pdo)
extension=extension under ext
3: サーバーを再起動し、phpinfo() を開くと、拡張機能が正常に追加されたことがわかります。
<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established.\n"; }else{ echo "Connection could not be established.\n"; die( var_dump(sqlsrv_errors())); } sqlsrv_close( $conn); ?>このバージョンでは、いくつかの関数があることに注意してください:
この拡張機能は、sqlsrv_ で始まる一連の関数を PHP に追加します。一般的に使用される関数は次のとおりです。
sqlsrv_close
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
_rows_affまた、この拡張機能を使用して 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 にアクセスして、x86 用の Microsoft SQL Server 2012 Native Client ODBC ドライバーをダウンロードします。 /fwlink/?LinkId=163712'(length=216)
'message' =>string'この拡張機能には、次の URL にアクセスして、x86 用の Microsoft SQL Server 2008 Native Client ODBC ドライバーが必要です。 http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' => ;string 'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[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サーバーに接続する方法です。同様の問題を解決する際に皆さんのお役に立てれば幸いです。
php を SQL サーバーに接続する方法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。