2016-06-15 6 views
0

Сегодня я перенес свой веб-сайт WordPress на новый веб-хостинг, на котором запущена более новая версия php (5.5. 0), чем мой предыдущий веб-хост. Я перевел мой сайт, и я начал получать массажи ошибок ниже на некоторых плагинах, которые я написал сам.mysql_real_escape_string() и mysql_get_server_info(): Доступ запрещен для пользователя '' @ '127.0.0.1' (с использованием пароля: НЕТ)

Предупреждение: mysql_real_escape_string(): доступ не запрещен для пользователя '' @ '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

Кроме того, если я попрошу веб-хоста изменить мою версию php на более раннюю версию, ошибки исчезнут :) –

ответ

0

После этого некоторые дополнительные исследования и глядя на сор-db.php файл, я обнаружил, что вам нужно заменить функции бушель следующее:

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';