ホームページ >バックエンド開発 >PHPチュートリアル >php を SQL サーバーに接続する方法、phpsqlserver_PHP チュートリアル

php を SQL サーバーに接続する方法、phpsqlserver_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:07:121078ブラウズ

phpをSQLサーバー、phpsqlserverに接続する方法

手順:
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 ドライバーをダウンロードします。これは、解凍後、次のファイルを取得します。


52 と 53 は php のバージョン 5.2.x と 5.3.x を表します。vc6 または vc9 の選択は、使用している Web サーバー ソフトウェアによって異なります。 Apache の場合は、vc9 を選択してください。ts と nts の選択は、インストールした PHP バージョンがスレッドセーフであるか、非スレッドセーフであるかによって異なります。 。

わからない場合は、以下に示すように phpinfo の Zend Extension Build 属性を確認してください。


2: 拡張機能を php/ext ディレクトリにコピーし、次のコードを php.ini ファイルに追加します。 extension=pdo ext の下の拡張子 (pdo 用)

extension=ext の下の拡張子

3: サーバーを再起動し、phpinfo() を開くと、次のステータスが表示され、拡張機能が正常に追加されたことがわかります。


4: 接続テスト:
リーリー
このバージョンでは、ここでの接続は mssql_connect ではなく、sqlsrv_connect であることに注意してください。

この拡張機能は、sqlsrv_ で始まる一連の関数を PHP に追加します。一般的に使用される関数は次のとおりです。

sqlsrv_connect sqlsrv_close

sqlsrv_commit

sqlsrv_errors

sqlsrv_fetch

sqlsrv_fetch_array
sqlsrv_fetch_metadata

sqlsrv_num_rows

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サーバーに接続する方法です。これが皆さんの同様の問題の解決に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1062030.html技術記事 php を SQL サーバーに接続する方法、phpsqlserver 注: 1: PHP5.2.x 自体には SQL サーバーに接続するための php_mssql.dll の拡張子がありますが、この DLL は下位バージョンの SQL サーバーに接続するためにのみ使用されます (...)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。