0

私はec2サーバーで非常に基本的なLAMPセットアップをセットアップしましたが、すべてうまくいっているようです。

ただし、いくつかのクエリで、mysql サーバーへの接続に失敗し、次のエラーが発生することがわかりました。

[07-Jul-2013 20:15:41 Australia/Sydney] PHP Warning:  mysql_real_escape_string(): Access denied for user 'ec2-user'@'localhost' (using password: NO) in /var/www/html/mycobber/class/sql/SqlQuery.class.php on line 40
[07-Jul-2013 20:15:41 Australia/Sydney] PHP Warning:  mysql_real_escape_string(): A link to the server could not be established in /var/www/html/xxx/xxxx/sql/SqlQuery.class.php on line 40

私が理解していないのは、mysql 接続構成のどの場所にもユーザー ec2-user が指定されていないという事実です。これは、UNIX サーバーにログオンするときのデフォルトのユーザーです。実際にすべてのプロセスを実行するために別のアカウントを設定しました。es2-user も使用していません。

私はオンラインで見ましたが、これを説明するものは何も見当たりません。ここで何が起こっているのか誰にもわかりません。それはいつもではありません

4

1 に答える 1

1

mysql_real_escape_string最初に接続を確立しないと、電話をかけることはできませんmysql_connect

ドキュメントからの引用:

mysql_real_escape_string()を使用する前に MySQL 接続が必要です。そうしないと、レベルのエラーE_WARNINGが生成され、FALSE返されます。

エラー メッセージは、特定の資格情報で接続をまだ開いていないため、デフォルトのユーザー名 @ localhost を参照しています。使用するアカウントの詳細がわからないためです。

于 2013-07-07T13:23:26.110 に答える