0

スクリプトから非常に明白なエラー メッセージが表示されますが、詳細が正しく、この Web サービス (000webhost.net) からリクエストを許可していることはわかっています。Web 上の他のユーザーはこのエラーを受け取っていないようです。このメッセージが表示されてから 3 日経ち、私はかなりイライラしています。私のプロバイダーを通じてそれを修正する方法を知っている人はいますか:

ユーザー「a3040562_kputts」@「10.1.1.18」のデータベース「ireport」へのアクセスが拒否されました

また、間違った情報を入力していると思われる場合に備えて、サンプル コードを次に示します。

// Make a MySQL Connection
mysql_connect("mysql4.000webhost.com", "a3040562_kputts", "(censored)") or     die(mysql_error());
mysql_select_db("ireport") or die(mysql_error());
4

2 に答える 2

3

データベース サーバーに正常に接続していますが、ユーザーはその特定のデータベースを使用するために必要な MySQL 権限を持っていません。特権ユーザー (またはそのデータベースに対するGRANT権限を持つユーザー) としてクエリを実行する必要があります。GRANT OPTION

このユーザーがデータベースを使用できるようにするには (必ずしもすべてのテーブルである必要はありません):

GRANT USAGE ON ireport.* TO 'a3040562_kputts'@'10.1.1.18';

このユーザーに、そのデータベース内のすべてのオブジェクトに対する完全な権限を許可するには:

GRANT ALL ON ireport.* TO 'a3040562_kputts'@'10.1.1.18';
于 2012-10-04T16:24:54.590 に答える
0

a3040562_kputts はあなたのアカウントですか (誰も共有していません)? 他のユーザーも使用する場合、別の場所からデータベースにアクセスしますか? このエラーは通常、ユーザー アカウントがデータベースにアクセスするための適切な権限を持っていない場合に発生します。

権限テーブルをチェックして、アカウントがテーブルにアクセスできることを確認するには、より高いアクセス権を持つ人が必要です。アカウントは許可されているが、まだ拒否されている場合は、「hosts」フィールドも再確認してもらいます (このフィールドは、リクエストの送信元を制御します。デフォルトで「localhost」になることがあるため、サーバーのみが自分自身にアクセスできます。ホスト '*' に対するアクセス許可があれば、どこからでも使用できると信じてください)。

于 2012-10-04T16:26:22.907 に答える