0

phpMyAdminをMAMPで実行していますが、mysql_connect()を使用できないことがわかりました。

$_db_connect = mysql_connect("root", "localhost");

php_error.logにエラーを生成します: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'root'@'localhost' (using password: NO) in /....../common.lib.php on line 19

特権を確認しました:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION

GRANT PROXY ON'' @'' TO'root' @'localhost' WITH GRANT OPTION

そして私は単に困惑しています。同じ結果を得るために、パスワードを使用して新しいユーザーを作成しました。不思議なことにusing password: NO、パスワードを使用してユーザーとして接続しようとしても、常に()と表示されます。

$_db_connect = mysql_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORD);

どんなアドバイスも歓迎します。ありがとう!

4

5 に答える 5

4

ダミーのためのそのエラーメッセージ:

Access denied for user 'root'@'localhost' (using password: NO)

3つの部分で構成され、それぞれに重要な情報が含まれています。どれどれ:

  1. アクセスが拒否されました-簡単に言うと、これは次のことを意味します。私に接続しようとしないでください。
  2. for user'root' @'localhost'-これは、誰がアクセスを拒否されたか、そのユーザーを示します。名前:rootおよび(@)次のサーバー:localhost
  3. パスワードの使用:いいえ-ユーザー名にアクセスして指定しようとしたときに、パスワードが使用されなかったというちょっとした追加情報。

だから今あなたが持っている特権で:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
 IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B'
 WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

基本的に、ユーザー'root'@'localhost'がアクセスするにはパスワードを使用する必要があると書かれています。エラーメッセージに示されているように、パスワードを使用していません。これがエラーの原因である可能性が高いため、パスワードがありません。

パスワードを追加して、再試行してください。

于 2012-04-11T13:23:03.140 に答える
3

パスワードを入力するのを忘れました。私が正しいと思うなら、ハッシュ81F5E21E35407D884A6CD4A731AEBFB6AF209E1Bはパスワード「root」です(確認のためにこのSQLステートメントを入力してください:SELECT PASSWORD('root')

正しいパスワードでログインしてみてください。

$_db_connect = mysql_connect("localhost", "root", "root");
于 2012-04-11T13:24:59.583 に答える
1

関数にパスワードがありません。また、関数呼び出しが間違っています。このようにしてください:

$_db_connect = mysql_connect("localhost", "root", "password");

ここで、passwordはrootアカウントのパスワードです。違うかもしれません。

于 2012-04-11T13:20:10.693 に答える
1

3番目のパラメータとしてパスワードを渡します

$_db_connect = mysql_connect("localhost", "root", "password");
于 2012-04-11T13:21:10.477 に答える
1

mysql_connect関数の最初のパラメータはdbhostであり、パスワードを使用するには3つのパラメータを使用する必要があります。

したがって、次の構文を使用します。

$ db = mysql_connect('localhost'、'mysql_user'、'mysql_password');

于 2012-04-11T13:22:19.357 に答える