2011-12-06 1 views
0

に再接続しようとすると: 警告:するmysql_query():アクセスは(パスワードを使用して:NO)、「localhostの」@ユーザー「WWWデータ」を否定し同じクエリでMySQL接続に失敗しました。私は、同じクエリに、次のエラーを取得していますデフォルトのユーザー

エラーは特定のIPからの最初の試行でのみ発生します。ページを更新した後、スクリプトはうまく動作します。具体的には、私は1つの場所のブラウザから実行し、エラーになります。ページを更新すると、問題は解決されます。それは私が別の場所から試みるまでです。

データベースサーバーとの接続が失われ、既定のユーザー名で再接続しようとすると、そのデータが収集されます。私が混乱しているのは、毎回同じクエリで失敗するということです。このquery_Xを呼び出してみましょう。 select、inserts、およびupdatesを含むquery_Xより前に複数のクエリが実行されます。 Query_Xは次のようになります。一例として

UPDATE game_users 
SET status_cd=$tmp_status, 
    expire_date=date_add('$currentExpire', interval $l_license_duration_days day) 
WHERE game_user_id=$l_game_user_id 

、渡される変数は次のとおりです。

$tmp_status = 1; 
$currentExpire = '2011-12-05'; 
$l_license_duration_days = 30; 
$l_game_user_id = 1; 

それは、接続が失敗します。このクエリ程度であり、なぜページを更新んが問題を解決する何?

Fyi、私は永続的な接続を使用しています。

編集:私は昨夜試したIPからもう一度試しました。私は再びエラーを受け取りました。これはスクリプトの最初の実行時です。私が2度目のページを実行した後、正常に動作しました。

編集:同じIP上にあっても、最初は特定のブラウザで実行されたときにエラーが発生します。つまり、Firefoxで一度エラーが発生してしまえば、一度Chromeでエラーが発生し、

編集:私はquery_Xの直前で起こっていたmail()関数に絞っています。メール機能がmySQL接続を閉じている理由はまだ分かりません。私は、メール機能(正しく動作し、電子メールを送信する)をphpファイルの最後に置くことに決めました。そこで、私は接続を閉じます。それはハックですが、私はこれに既に多くの時間を費やしました。

+2

"同じクエリ"?何と同じ? –

+0

私は上に示したUPDATEクエリ、別名query_Xにヒットするまでページが正常に実行されることを意味します。 – user1034772

答えて

0
  • mysql_query()を呼び出す前に接続を閉じたようです。アクセス拒否のメッセージは、mysql_connect()フェーズで発生する必要があります。
  • エラーはクエリにあり、接続/終了関数にはありませんか?
+0

接続に間違いがあります。メーラーインクルードがいくつかの余分なヘッダーとともにmail()を使用するため、接続に失敗しました。私はphpファイルの終わりにそのメーラーをインクルードしたので、それ以上の問題はないので、それ以上はそれを絞り込んでいません。 – user1034772

関連する問題