2015-01-10 3 views
6

Я запускаю веб-приложение в codeigniter, запущенном на сервере. Здесь у меня есть форма регистрации пользователя, которая отлично работает в localhost. Но когда дело доходит до сервера, при попытке зарегистрировать пользователь, моя страница показывает ошибку:mysql_escape_string() функция устарела использовать mysql_real_escape_string() Codeigniter

mysql_escape_string() function is deprecated use mysql_real_escape_string() in mysql/mysql_driver

Я попытался изменить мою страницу mysql_driver, но после того, как меняется все гаснет. Может ли кто-нибудь помочь мне решить эту ошибку?

+0

вы пробовали обновления CodeIgniter – chiliNUT

+0

обе функции не рекомендуется использовать [ 'mysqli_ *'] (http://php.net/manual /en/class.mysqli.php) – Girish

+0

Я использую последнюю версию codeigniter – Aishwaryas

ответ

9

Если вы используете PHP 5.4 функция mysql_escape_string() является deprecated.So вам нужно сделать некоторые изменения в драйвер MySQL file.go в системе \ базы данных \ Drivers \ MySQL \ mysql_driver.php и найти функцию и заменить код функции с помощью этого кода:

/** 
    * Escape String 
    * 
    * @param string 
    * @param bool whether or not the string will be used in a LIKE condition 
    * @return string 
    */ 
public function escape_str($str, $like = FALSE) 
{ 
    if (is_array($str)) 
    { 
    foreach ($str as $key => $val) 
     { 
    $str[$key] = $this->escape_str($val, $like); 
     } 

     return $str; 
    } 

    $str = is_resource($this->conn_id) ? mysql_real_escape_string($str, $this->conn_id) : addslashes($str); 

    // escape LIKE condition wildcards 
    if ($like === TRUE) 
    { 
    return str_replace(array($this->_like_escape_chr, '%', '_'), 
     array($this->_like_escape_chr.$this->_like_escape_chr, $this->_like_escape_chr.'%', $this->_like_escape_chr.'_'), 
     $str); 
    } 

    return $str; 
} 

Это может помочь вам ...

+0

Я пробовал, так как сказал, и теперь он отлично работает. Благодаря! – Aishwaryas

+0

добро пожаловать :) –

Смежные вопросы