2016-04-30 21 views
0

MySQL用のWebユーザアカウントを作成しようとしていますが、正しく動作させることができませんでした。私のユーザはですwebusrパスワードWebUserであり、データベースはです。MySQL Webユーザ権限アクセスが拒否されました

私は、phpMyAdminでSELECT、INSERT、およびUPDATEのみを使用してユーザーを作成しました。私はPHPライン$db = new mysqli('localhost', 'webusr', 'WebUser', 'books');を実行すると、メッセージ“Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'webusr'@'localhost' (using password: YES)”

phpMyAdmin phpMyAdmin2

ない私がここで間違ってやっているのかわからで失敗します。また、データベースには同じ権限設定があります。私はEasyPHPを使用してWindows PCにいます。パスワードなしでルートユーザーの設定を試しましたが、コードは正常に動作しているようです。

+0

ユーザーパスワードを設定しましたか?パスワードなしで接続してみてください。 –

+0

パスワードなしで試してみても、ユーザーを削除してパスワードなしで再作成しても、同じエラーが表示されます。 – Rick

+0

'$ mysql -u webusr -p'とあなたが設定したパスワードを使ってコンソールにログインできますか?私はまた、「付与」が本当に「いいえ」であるべきかどうか疑問に思います。私はあなたがそれらを使うために特権を与えるべきだと思います。 – Rick

答えて

0

1:
2 PDOを使用しての代わりに、mysqliのWhy bother using PDO? click to read.試してみてください。これに代えて

$db = new mysqli('localhost', 'webusr', 'WebUser', 'books');

$db = new mysqli('localhost', webusr, WebUser, books);

今のところ、これを試してみてください10
+0

私の質問に一重引用符を入れるのを忘れました。私は私の質問を編集しました。まだ動作しません。 – Rick

+0

シングルの代わりに二重引用符を使用してみてください。 – Azzazzell

+0

いいえ。私はEasyPHPを使ってテストしていますので、パスワードなしで** root **ユーザーを使用し、同じコードを使用して動作します。私は** webusr **にすべての特権を与えようと試みたし、まだ動作しません。 – Rick

0

ホストフィールドと一致していない可能性があります。 MySQLでは、ワイルドカードホスト%はソケット接続と一致しません。ホストが必要な場合はlocalhostです。正しくリコールすれば、127.0.0.1から%に一致するバージョンもあります。

ソケット接続(ホストlocalhostに接続して)を使用するようにmysqliに指示しているので、ユーザホストフィールドが 'localhost'ではないため、接続できません。 tcp接続を必要としない場合は、既存のユーザを編集し、ホストを 'localhost'に変更するか、tcp接続を許可し続ける場合は、ホスト 'localhost'を持つ新しいユーザを追加します(たとえば、別のマシン)。

関連する問題