2016-06-15 2 views
0

今日、私はワードプレスのウェブサイトを新しいバージョンのphp(5.5。 0)。私は私のウェブサイトを転送し、私は自分自身で書いたいくつかのプラグインに下記のエラーマッサージを始めました。mysql_real_escape_string()とmysql_get_server_info():ユーザー '' @ '127.0.0.1'へのアクセスが拒否されました(パスワードはNOを使用)

警告:mysql_real_escape_stringの():アクセスは(パスワードを使用して:NO)、 ' '@'' ユーザのために127.0.0.1を否定しないで...

私はいくつかの研究を行っているが、すべて私が見つけました私はmysqlが確立された(私はWordPressのデータベースクラスが私たちのためにそうしているので、私は間違っていると思う)へのリンクを持っていないということでした。

問題をどのように解決できるかについてのご意見はありますか?私のプラグインでどのようにデータベースに接続するのかを以下に示します。

function init() 
{ 
    $this->database = $GLOBALS['wpdb']; 
    $this->prefix = $GLOBALS['table_prefix']; 

    if(version_compare(mysql_get_server_info(), '4.1.0', '>=')) 
    { 
     if (!empty($this->database->charset)) 
      $this->charset_collate .= sprintf(' DEFAULT CHARACTER SET %s', $this->database->charset); 

     if (!empty($this->database->collate)) 
      $this->charset_collate .= ' COLLATE ' . $this->database->collate; 
    } 

    register_activation_hook(__FILE__, array($this, 'install_database_tables')); 
} 
+1

はあなたをセットアップしました'wp-config.php'に新しいデータベース認証情報を入力しますか? – vaso123

+0

しました!私は上記のエラーを除いて、問題なくデータベースから読み書きできます! :) –

+0

さらに、Webホストに私のPHPバージョンを以前のバージョンに変更するよう依頼すると、エラーは消えます:) –

答えて

0

いくつかのより多くの研究を行っているとWP-をdb.phpファイルを見た後、私はあなたがあなたの機能を交換する必要があることを発見したBU次き:

global $wpdb; 

//mysql_get_server_info() becomes 
$wpdb->db_version() = 'YOUR_SQL_SERVER_INFO'; 

//mysql_real_escape_string() becomes 
$wpdb->_real_escape('some_string') = 'ESCAPED_STRING'; 
関連する問題