2011-12-06 26 views
0

私は最近、あるサーバーから別の(もっと新しい)サーバーにアプリケーションを移行しました。移動後、私のデータベースセッション処理はもはや機能しません。私がログインしようとすると、私は次のエラーを取得する:PHPデータベースセッションの処理MySQLログイン資格情報を無視する

PHP Warning: mysql_real_escape_string(): Access denied for user 'www-data'@'localhost' (using password: NO) w/ucr-dev/includes/DatabaseSessionHandler.class.php on line 44 

ユーザーWWW-データは、私が指定したデータベース・ユーザーではなく、データベースの有効なユーザーではありません。私が最初にこのアプリケーションを書いていたとき、私は、正確なステップと必要なすべてのコードを詳述するブログエントリを書きました。そのブログエントリはMy Blogにあります。

すべてのアイデア?

+0

サイドノート:[PDO](http://php.net/pdo)または少なくとも[MySQLi](http://php.net/mysqli)を調べることをお勧めします。 – Wiseguy

答えて

0

mysql_real_escape_string()を呼び出すと、データベース接続がまだ開かれていないようです。この機能を使用するには、オープンなデータベース接続が必要です。指定されていない場合は、最後に開かれた接続が想定されます。接続が開いていない場合は、パラメータなしで暗黙的にmysql_connect()を呼び出します。したがって、ウェブサーバのユーザwww-dataと接続しようとしており、パスワードがないという理由があります。

$this->open()MySQLDatabase::__construct()の中に呼び出すと、オブジェクトの作成時に接続が開くように思えるかもしれません。

+0

downvoteの理由は? – Wiseguy

+0

それはそれを修正したようだ! –

+0

誰かが質問を落とした。 –

関連する問題