mysqli_real_escape_string () ожидает, что параметр 2 будет ошибкой строки в WordPress - PullRequest
0 голосов
/ 30 апреля 2018

Я использую WordPress для одного из моих веб-сайтов, и внезапно я получил эту ошибку во время регистрации, которая раньше работала нормально.

Предупреждение: mysqli_real_escape_string () ожидает, что параметр 2 будет строкой, объект, указанный в /public_html/wp-includes/wp-db.php в строке 1105

Эта функция вызывает проблемы.

function _real_escape( $string ) {

    if ( $this->dbh ) {
        if ( $this->use_mysqli ) {
            $escaped = mysqli_real_escape_string( $this->dbh, $string );
        } else {
            $escaped = mysql_real_escape_string( $string, $this->dbh );

        }

        $escaped = addslashes( $string );
    }

    return $this->add_placeholder_escape( $escaped );
}

Примечание: моя текущая версия PHP 5.6

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Сообщение об ошибке указывает на файл WordPress. Если бы в нем упоминался файл WPML, его было бы намного проще отладить.

Не могли бы вы попробовать:

  1. Откройте ваш wp-config.php

  2. Добавьте туда эти три строки:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
    
  3. Затем снова вызовите одну из этих проблемных страниц

  4. Скопируйте и вставьте содержимое wp-content/debug.log в pastebin.com, чтобы мы увидели

Надеюсь, debug.log даст нам некоторые подсказки о том, что произошло непосредственно перед этой ошибкой.

0 голосов
/ 30 апреля 2018

вам нужно изменить

$escaped = mysql_real_escape_string( $string, $this->dbh );

С

$escaped = mysqli_real_escape_string( $this->dbh, $string);

потому что здесь вы используете mysqli

if ( $this->use_mysqli ) {
            $escaped = mysqli_real_escape_string( $this->dbh, $string );
        }

А здесь вы используете mysql

else {
   $escaped = mysql_real_escape_string( $string, $this->dbh );

}

и mysqli_real_escape_string() ожидают, что первым параметром должно быть соединение с базой данных, но здесь данный параметр равен $string .это неверно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...