sql >> データベース >  >> RDS >> Mysql

mysql_escape_string()関数は非推奨ですmysql_real_escape_string()Codeigniterを使用してください

    PHP 5.4を使用している場合、関数mysql_escape_string()は非推奨です。そのため、mysqlドライバーファイルにいくつかの変更を加える必要があります。system\ database \ drivers \ mysql \ mysql_driver.phpに移動し、escape_strを見つけます。 関数を作成し、関数コードを次のコードに置き換えます:

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

    それはあなたを助けるかもしれません...




    1. MySQLは、日付が日付の間にない行を選択します

    2. 2つのテーブルから合計数量を選択します

    3. PostgreSQL関数の引数としてのテーブル

    4. MySQL動的クロス集計クエリ:追加の列として子レコードを選択する