0

mysqlで「somedatabase」という名前でデータベースを作成しました

CREATE DATABASE somedatabase;  
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword';

しかし、phpアプリケーションを使用してこのデータベースにアクセスしようとすると、次のエラーが発生します

" mysql_connect() [function.mysql-connect]: ユーザー 'someuser'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) "

Mysql クエリ ブラウザでは、username: someuser と password: somepassword を使用してこのデータベースにログインできます。次に、アプリケーションを介してデータベースに接続できないのはなぜですか。

phpコード:

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase';
4

3 に答える 3

1

GRANT を使用する場合は、someuser を単一引用符 (') で囲んではなりません。

GRANT ALL ON somedatabase.* TO someuser@'localhost' IDENTIFIED BY 'somepassword'; 

また、MySQL と同じボックスで Apache/PHP を実行していると仮定しています。

于 2011-04-16T06:17:16.787 に答える
0

私は同じ問題を抱えていました。私の問題の解決策は、ホストを設定することでした。何らかの理由で、phpはどのホストでもユーザーに接続していませんでした(%)

于 2012-01-18T11:26:13.543 に答える
-1

これを試してください: GRANT ALL PRIVILEGES ON somedatabase.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword';

http://dev.mysql.com/doc/refman/4.1/en/adding-users.html

于 2011-04-16T06:18:54.217 に答える