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

はい、このエラーはあまりにも一般的であり、私はそれを調査するのに多くの時間を費やしました. しかし、何も問題を解決しませんでした。

開発中の PHP スクリプトの 1 つで最初の接続を試みると、このエラーが発生します。知っておくと役立つ場合は、http://community.linuxmint.com/tutorial/view/486に記載されている LAMP 構成をインストールして Linux Mint を実行しています。

問題は、他のアプリケーションは接続で動作するということです。root として PhpMyAdmin にログインするか、root としてコンソールの mysql クライアントにログインすることは、どちらも完全に機能します。MySQL サイト自体は、私のコードに問題がある可能性が高いと言っていますが、私はまだそれを理解していません... 私はこのようなことに慣れていないので、非常に単純な間違いである場合はご容赦ください。

別のページで外部関数を使用しています (require_once でインポート)。これは悪い習慣ですか?とにかく、ここにあります:

global $sql_conn, $sql_addr, $sql_user, $sql_pass, $sql_datb;

$config=app_readconfig();
echo "<p>".$sql_addr." ".$sql_user." ".$sql_pass." ".$sql_datb."</p>";//DEBUG, shows values are read
if($config==FALSE)
{
    echo "<p>Error: Missing values in darkace_config.txt!</p>";
    return FALSE;
}
$sql_conn=mysql_connect($sql_addr,$sql_user,$sql_pass);
if(!$sql_conn)
{
    echo "<p>MYSQL Error: ".mysql_error()."</p>";
    return FALSE;
}

if(!mysql_select_db($sql_datb,$sql_conn))
{
    echo "<p>MYSQL Error selecting database: ".mysql_error()."</p>";
    return FALSE;
}
return TRUE;

その関数が呼び出され、返されたメッセージは次のとおりです。

4

3 に答える 3

2

ユーザー名は「root[SPACE]」です。スペースなしで「ルート」を試しますか?

于 2012-06-20T04:24:49.143 に答える
1

資格情報に問題があります。

以下を確認します。

  • ユーザー名
  • パスワード
  • ホスト

mysql_*また、関数は非推奨になっているため、使用を中止してください。代わりにMySQLiまたはPDOを使用してください。

于 2012-06-20T03:52:42.267 に答える
0

接続は次のようになります

$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');

http を含めず、例のようにポート番号を追加し、ユーザー名とパスワードを確認します。

面倒ですが、mysql_* 関数を使用するたびに、PDO の推奨事項が表示されます。PDO も推奨します。PHP も PDO を推奨します。mysql_connect の PHP ドキュメントを確認できます。

于 2012-06-20T03:58:13.923 に答える