Mysql
 sql >> база данни >  >> RDS >> Mysql

codeIgniter използва mysql_real_escape_string() вместо. проблем с връзката с базата данни

Не се страхувайте да променяте основните файлове, просто променете FCPATH/system/database/drivers/mysqli/mysqli_driver.php

function escape_str($str, $like = FALSE)
{
    if (is_array($str))
    {
        foreach ($str as $key => $val)
        {
            $str[$key] = $this->escape_str($val, $like);
        }

        return $str;
    }

    if (function_exists('mysqli_real_escape_string') AND is_object($this->conn_id))
    {
        $str = mysqli_real_escape_string($this->conn_id, $str);
    }
    else
    {
        $str = addslashes($str);
    }

    // escape LIKE condition wildcards
    if ($like === TRUE)
    {
        $str = str_replace(array('%', '_'), array('\\%', '\\_'), $str);
    }

    return $str;
}

Имах същия проблем

По-добро решение -> https://ellislab.com/forums/viewthread/228288/ "stated in github that it will be fixed in CodeIgniter 3.0 the fix already exists in that repository"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Търсете съвпадение на цялата дума в MySQL

  2. как да предотвратите тази грешка:Предупреждение:mysql_fetch_assoc() очаква параметър 1 да бъде ресурс, булев, даден в ... на ред 11

  3. Защо засегнатите редове връщат 0 при успешно актуализиране/изтриване?

  4. Връщане на DISTINCT първи знак на поле (MySQL)

  5. Проблеми с Rails 3 Mysql