Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja mysql_escape_string() jest przestarzała użyj mysql_real_escape_string() Codeigniter

Jeśli używasz PHP 5.4, funkcja mysql_escape_string() jest przestarzała. Musisz więc dokonać pewnych zmian w pliku sterownika mysql. Przejdź do system\database\drivers\mysql\mysql_driver.php i znajdź escape_str funkcji i zastąp kod funkcji następującym kodem:

/**
  * 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;
 }

To może ci pomóc...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migracja MySQL do PostgreSQL na AWS RDS, część 4

  2. max(długość(pole)) w mysql

  3. Jak zarządzać uprawnieniami za pomocą ról w MySQL

  4. Pobierz aktualną zaktualizowaną nazwę kolumny do użycia w wyzwalaczu

  5. Zapytanie mysql od czasu do czasu nie zwraca nic