php が mssql をサポートしていない場合の解決策: 1. 「SQLSRV20.EXE」をダウンロードします; 2. ファイルを php 拡張フォルダー ext に抽出します; 3. php.ini ファイルを変更します; 4. Apache を保存して再起動しますそれ。
この記事の動作環境:Windows7システム、php5.3バージョン、DELL G3コンピュータ
phpシステムはサポートしておりませんmssql の問題解決方法、php5.3 が mssql データベースに接続できない問題の解決方法
この記事の例では、php5.3 が mssql データベースに接続できない問題の解決方法を説明します。
分析は次のとおりです:
php5.3以降、システムはmssql_connect関数をサポートしていませんが、以前はcomインターフェースを使用して実装できるとも言いましたが、現在はphp5.3 で接続できない問題の解決策を紹介します。mssql データベースに接続する別の方法。#
##Windows システムでは、PHP5.3 以降のバージョンでは mssql 拡張機能がサポートされなくなりました。First http ://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 「入手」をクリックして SQLSRV20.EXE をダウンロードします。 ファイルを php 拡張フォルダー ext に抽出し、php.ini を開いて最後に追加します: コードは次のとおりです:[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll保存後に Apache を再起動します。添付の簡単な PHP 接続例。コードは次のとおりです。 コードは次のとおりです。
<?php $serverName = "(127.0.0.1)"; $connectionInfo = array( "UID"=>"root", "PWD"=>"root2010", "Database"=>"master"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.n"; } else { echo "Connection could not be established.n"; die( print_r( sqlsrv_errors(), true)); } ?>Windows Server 2008、PHP5 でテストされた wamp5.1 統合インストール パッケージを使用しています。 .4 上記のバージョン テストは成功しませんでした。 この拡張機能を使用して SQL Server 2005 以降 (SQL Server 2008 など) に接続する場合は、最初に SQL Server Native Client をマシンにインストールする必要もあります。 : http://download .microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msiこの拡張機能は、sqlsrv_ で始まる一連の関数を PHP に追加します。関数リファレンスは次のとおりです:コードは次のとおりです:
sqlsrv_begin_transaction sqlsrv_cancel sqlsrv_client_info sqlsrv_close sqlsrv_commit sqlsrv_configure sqlsrv_connect sqlsrv_errors sqlsrv_execute sqlsrv_fetch sqlsrv_fetch_array sqlsrv_fetch_object sqlsrv_fetch_metadata sqlsrv_free_stmt sqlsrv_get_config sqlsrv_get_field sqlsrv_has_rows sqlsrv_next_result sqlsrv_num_fields sqlsrv_num_rows sqlsrv_prepare sqlsrv_query sqlsrv_rollback sqlsrv_rows_affected sqlsrv_send_stream_data sqlsrv_server_info詳細な手順については、自己解凍ファイル内の SQLServerDriverForPHP.chm ヘルプ ファイルを参照してください。 別の ODB 接続メソッドを見てください。コードは次のとおりです。 コードは次のとおりです。
$dbhost = ''; $dbuser = ''; //你的mssql用户名 $dbpass = ''; //你的mssql密码 $dbname = ''; //你的mssql库名 $connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass"); $sql="select * from content"; $exec=odbc_exec($connect,$sql); while($row = (odbc_fetch_array($exec))) { $row['id'] //?取字段值 … }推奨される学習: "
PHP ビデオ チュートリアル "
関連紹介:##1. SQL サーバー用の php 用 Microsoft ドライバーをダウンロードします (現在 2.0 3.0 バージョンはそれぞれ ts バージョンと nts バージョンに分かれています。ts であることは、phpinfo() の Thread Safety:enable で確認できます。詳細については、ドライバーに付属のマニュアルを参照してください)
2. ドライバーの ext ファイルを php フォルダーにコピーします。フォルダーの後に、php.ini 拡張子を変更します。 extension=php_pdo_sqlsrv_53_ts_vc6.dll
3 Microsoft SQL Server 2008 R2 Native Client のインストールをダウンロードします。
テスト コード:
<?php try { $hostname = "192.168.1.100"; $dbname = "Northwind"; $username = "sa"; $pwd = "pwd100"; $dsn="sqlsrv:Server=$hostname;database=$dbname"; $conn = new PDO ($dsn,$username,$pwd); $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); echo "mssql database connnection sucessed!"; } catch (PDOException $e) { echo "Failed to get DB handle: " . $e->getMessage() . "\n"; exit; } ?>
2. Windows システム次に、PHP5.3 より上のバージョンでは mssql 拡張機能がサポートされなくなりました。 SQL サーバーを使用する場合は、Microsoft が提供する SQL (http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx Server Driver for PHP) をダウンロードする必要があります。
php_sqlsrv_52_nts_vc6.dll php_sqlsrv_52_ts_vc6.dll php_sqlsrv_53_nts_vc6.dll php_sqlsrv_53_nts_vc9.dll php_sqlsrv_53_ts_vc6.dll php_sqlsrv_53_ts_vc9.dll php_sqlsrv_license.rtf SQLServerDriverForPHP.chm SQLServerDriverForPHP_Readme.htm
このうち、52 と 53 は PHP 5.2.X と 5.3.X のバージョンを表し、nts はノンリニアと 5.3.X のバージョンを表します。 secure、ts はスレッド セーフを表します。vc6 は Web サーバーとして Apache を使用することを意味し、vc9 は Web サーバーとして IIS を使用することを意味します。
設定に従って、対応する DLL ファイルを PHP インストール ディレクトリの ext フォルダーにコピーし、php.ini を開いて次のステートメントを追加して、php_sqlsrv および php_pdo_sqlsrv 拡張機能を開きます。 — —————————————————–
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_ts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_ts_vc6.dll
————————————————
こちら53 は php5.3 を意味します。バージョン 5.2 の場合は、52 に変更してください。PHP バージョンがスレッドセーフの場合は、PHP インストール ディレクトリに php5ts.dll があるはずです。これは、2 行のステートメントと同じです。同様に、php5nts.dll の場合、上記のステートメントは次のようになります:
————————————————————-
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
———————————————-
圧縮パッケージにはバージョンごとの dll ファイルが入っていますので、よく確認してください。
拡張機能をオンにした後、sqlserver に接続できるように Apache を再起動しますが、もう 1 つ注意すべき点があります。Microsoft SQL Server 2008 R2 Native Client をインストールしていない場合は、http: //msdn.microsoft.com /en-us/library/cc296170(SQL.90).aspx をダウンロードしてインストールします。これは、Microsoft の拡張パッケージにはこのサポートが必要であるためです。
すべての準備が整ったら、PHP コードを作成できます。PHP 用 SQL Server ドライバーをダウンロードした場合は、解凍したフォルダーにヘルプ ドキュメントがあります。サンプルは簡単に見つけることができます。ここでは、Web マスターが簡単な例:
<?php //本地测试的服务名 $serverName = “(127.0.0.1)”; //使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名 //如果你使用的是windows身份验证,那么可以去掉用户名和密码 $connectionInfo = array( “UID”=>”root”, “PWD”=>”root2010″, “Database”=>”master”); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo “Connection established.\n”; } else { echo “Connection could not be established.\n”; die( print_r( sqlsrv_errors(), true)); } ?>
接続に失敗した場合は、SQL サーバーを再起動して再試行してください。
以上がPHPシステムがmssqlをサポートしていない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。