ホームページ > バックエンド開発 > PHPチュートリアル > PHP 接続について mssql: pdo odbc sql server_PHP チュートリアル

PHP 接続について mssql: pdo odbc sql server_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-21 15:26:41
オリジナル
987 人が閲覧しました

php_pdo_odbc.dll は 1 つだけあります。
だから~mssql に接続するための最新かつ最良の php メソッドは次のようになります:

コードをコピーします コードは次のとおりです:

$cnx = new PDO("odbc: Driver={SQL Server}; Server=127.0.0.1;Database=test;",'sa','asd123');
var_dump($cnx);
$a = $cnx->query("SELECT * FROM [ユーザー]");
var_dump($a);
foreach ($a as $b) {
var_dump($b);
}
?>


PHPがMSSQLデータベースに接続できない問題について
今日、新しいサーバーを構成しました。構成はIIS+phpで、実行時にphpをリモートmssqlデータベースに接続する際にエラーが発生しました。次のように:
警告: mssql_connect(): サーバーに接続できません:
考えてみてください。以前は問題ありませんでしたが、何が起こったのでしょうか?その後、オンラインで検索して記事を見つけましたが、php を使用して mssql に接続するにはサーバーに mssql をインストールする必要があることがわかりました。当初は新しいサーバーで mssql を使用する必要はありませんでした。はい、mssql をインストールすれば問題ありません。
Linux で apache+php だとどうなるんだろう、mssql をインストールするのは無理だ、と思っていたら、ははは、めまいがしました。
以下は私が見つけた記事です。
php設定:
php.iniファイルで次のように設定し、
;extension=php_mssql.dllを見つけてその前のセミコロンを削除します
extension_dir = d:extensionを見つけます
php.iniにはd:extensionが含まれていない可能性があります
別の場所に移動していない場合は、php インストール ディレクトリの extensions ディレクトリにある php_mssql.dll のパスに変更します (php インストール パスが d:php であると仮定します)
extension_dir=d:phpextensions に変更します。次に、Web サーバーを再起動します

これは簡単ですが、このような設定を完了しても、次のようなエラー メッセージが表示されます:
MS SQL Server データベース接続エラー! データベースのホスト変数の設定が正しいかどうかを確認してください。 !!!
ホストの変数設定を何度も確認しましたが、その設定に問題はありませんでした。Web を閲覧した結果、次の手がかりが見つかりました:

php.com 情報:
接続しようとしています。 PHP から SQL Server 2000 へ
次の警告が表示されました:
警告: mssql_connect(): サーバーに接続できません: SERVERPortal
...................... 5 行目
5 行目に:
$ db_connect = mssql_connect('SERVERPortal' , 'sa', 'my_passwd');
1.PHP.ini で php_mssql.dll 拡張機能を有効にしました
2.すべての dll が適切な場所 (System32 または PHP フォルダー) にあります。 ntwdblib.dll を含む
Web を通じて多くのプロファイルを検索しましたが、解決するための適切な答えが見つかりません
数時間後、問題の原因が
ntwdblib.dll (バージョン 7.00.839) であることがわかりました。古い ntwdblib.dll を新しい
ntwdblib.dll に置き換えました。バージョンは 8.00.194 で、すべての問題が解決されました。
Windows 2003 での MSSQL に関するいくつかの問題がありました。
同じウィンドウが 2 つありました。 、php、php-ini、すべてのマシンが接続できましたが、接続できなかったというエラー メッセージが表示されました。最終的に ntwdblib.dll のバージョンを確認したところ、PHP で配布されていたのは 7.00 でした。 SQL Server インストールのバージョンは 8.00 だったので、これを
php ディレクトリと Apache ディレクトリにコピーしたところ、問題は解決しました。問題は ntwdblib.dll
ntwdblib.dll のメインでした。機能は、SQL サーバー接続を提供することです。
私が使用している PHP のバージョンは 4.3.9 です。インストールされているサーバーの Windows/system32/ では、ntwdblib.dll ファイルのバージョンが 2000.2.8.0 であることがわかりました。 PHP をインストールすると、dll 配下のすべてのファイルがシステム ディレクトリに上書きされるため、これを使用して SQL Server 2000 に接続すると、当然接続できなくなります。
後で、SQL Server 2000 が正常にインストールされているサーバー上の ntwdblib.dll のバージョンが 2000.80.2039.0 であることがわかり、このファイルをコピーして以前のバージョンを上書きしたところ、サーバーを再起動した後、すべてが正常になりました。
補足: データベース名が数字で始まる場合は、開くことができない旨のメッセージも表示されます。このとき、データベース名を[ ]で囲むだけで完了です。たとえば、123bbs を [123bbs] に書き換えると機能しません。また、データベース名が SQL Server の予約語と競合する場合にも、この状況が発生します。角括弧を使用することによっても解決できます。
最終的に、PHP が SQL Server 2000 に正しく接続できない問題が解決されました。半日以上かかりましたが、それでも大きな収穫がありました。これで、同じ問題に遭遇した兄弟たちを救うことができます。いくつかの回り道。



http://www.bkjia.com/PHPjc/323938.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/323938.html

php_pdo_odbc.dll は 1 つだけです。したがって、php で mssql に接続する最新かつ最良の方法は次のようになります。 次のようにコードをコピーします。 ?php $cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Da. ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート