1

mysqli 接続で奇妙な問題が発生しています。

私は mysqli を使用してページを作成していましたが、一日中問題なく動作しています。次に、このページのコピーを作成し、問題をデバッグするために削除し、別のファイルとしてテストしました。うまく接続できました。作業していた元のファイルをリクエストしようとすると、次のエラーが表示されます。

ユーザー 'user'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

理由がわかりません。毎回接続を使い終わった後、接続を閉じましたが、それが問題になる理由はわかりません。興味深いことに、まったく同じ接続の詳細とコードが含まれているにもかかわらず、ファイルの古いバージョンは問題なく動作します。

何が起こっている?

4

5 に答える 5

1

質問をひっくり返します。2 つのバージョン (機能するバージョンと機能しないバージョン) が重要な点で同一であると言うのではなく、それらの違いに注目し、どの違いが重要なのかを分離してみてください。

作業バージョンの追加コピーを作成します。動作することを確認します。このテスト コピーにできるだけ多くの変更を 1 つずつ適用して、動作しないバージョンのコピーを作成してみてください。壊れたバージョンにできるだけ近いが、まだ動作するものになるまで続けます。 . この 2 つを比較すると、どこに問題があるかがわかります。

于 2009-03-27T14:39:13.020 に答える
0

そのためだけに、作業コピーと古いバージョンのファイルの間で差分を実行します。括弧の移動、変数名の変更などの問題がないか確認してください。ユーザー名とパスワードを定義するコードの一部が実行されない可能性があります。

そのための無料のプログラムが必要な場合は、WinDiffを確認してください

于 2009-03-28T03:34:49.770 に答える
0

変。同じマシンからファイルをテストしている場合、それらは機能するはずです (同じコードを持っている場合)。

ユーザー名とパスワードをもう一度確認してください。つまり、スペースや奇妙な文字が含まれています。

于 2009-03-27T14:29:54.853 に答える
0

IP が MySQL の許可された接続リストに追加されていることを確認し、パスワードが正しいことも確認してください。可能であれば、localhost ではなく完全なホスト名を指定してみてください。

成功しなかった場合は、コードを投稿してください。

于 2009-04-06T23:16:43.733 に答える