PHP Input Filter

Before inserting data to mysql $postdata = InputFilter($postdata, 'encode'); Getting data from MySQL $row= InputFilter($row, 'decode'); The data converts to Unicode entities, you don't need to decode it, except for file names or...
<?php
/*    ***********************************************
 *    Function reset_magic_quotes($data)
 *    ***********************************************/
function reset_magic_quotes($data){
    if(
get_magic_quotes_gpc() || get_magic_quotes_runtime()) {
        if(
is_array($data)){
            
$data array_map("reset_magic_quotes"$data);
        }
        else{
          if(
ini_get('magic_quotes_sybase')) {
               
$data        str_replace("''""'"$data);
           } else {
               
$data        stripslashes($data);
           }
        }
    }
    return 
$data;
}

/*    ***********************************************
 *    Function InputFilter($input)
 *    ***********************************************/
function  InputFilter($input$type='encode'){
 
$utf8 = array(
 
'&''ACTION''ADD''ALL''ALTER''ANALYZE''AND'
 
'AS''ASC''ASENSITIVE''BEFORE''BETWEEN''BIGINT''BINARY'
 
'BIT''BLOB''BOTH''BY''CALL''CASCADE''CASE''CHANGE'
 
'CHAR''CHARACTER''CHECK''COLLATE''COLUMN''CONDITION'
 
'CONSTRAINT''CONTINUE''CONVERT''CREATE''CROSS''CURRENT_DATE'
 
'CURRENT_TIME''CURRENT_TIMESTAMP''CURRENT_USER''CURSOR''DATABASE'
 
'DATABASES''DATE''DAY_HOUR''DAY_MICROSECOND''DAY_MINUTE''DAY_SECOND'
 
'DEC''DECIMAL''DECLARE''DEFAULT''DELAYED''DELETE''DESC''DESCRIBE'
 
'DETERMINISTIC''DISTINCT''DISTINCTROW''DIV''DOUBLE''DROP''DUAL'
 
'EACH''ELSE''ELSEIF''ENCLOSED''ENUM''ESCAPED''EXISTS''EXIT'
 
'EXPLAIN''FALSE''FETCH''FLOAT''FLOAT4''FLOAT8''FOR''FORCE'
 
'FOREIGN''FROM''FULLTEXT''GRANT''GROUP''HAVING''HIGH_PRIORITY'
 
'HOUR_MICROSECOND''HOUR_MINUTE''HOUR_SECOND''IF''IGNORE''IN''INDEX'
 
'INFILE''INNER''INOUT''INSENSITIVE''INSERT''INT''INT1''INT2''INT3'
 
'INT4''INT8''INTEGER''INTERVAL''INTO''IS''ITERATE''JOIN''KEY'
 
'KEYS''KILL''LEADING''LEAVE''LEFT''LIKE''LIMIT''LINES''LOAD'
 
'LOCALTIME''LOCALTIMESTAMP''LOCK''LONG''LONGBLOB''LONGTEXT''LOOP'
 
'LOW_PRIORITY''MATCH''MEDIUMBLOB''MEDIUMINT''MEDIUMTEXT''MIDDLEINT'
 
'MINUTE_MICROSECOND''MINUTE_SECOND''MOD''MODIFIES''NATURAL''NO'
 
'NO_WRITE_TO_BINLOG''NOT''NULL''NUMERIC''ON''OPTIMIZE''OPTION'
 
'OPTIONALLY''OR''ORDER''OUT''OUTER''OUTFILE''PRECISION''PRIMARY'
 
'PROCEDURE''PURGE''RAID0''READ''READS''REAL''REFERENCES''REGEXP'
 
'RELEASE''RENAME''REPEAT''REPLACE''REQUIRE''RESTRICT''RETURN''REVOKE'
 
'RIGHT''RLIKE''SCHEMA''SCHEMAS''SECOND_MICROSECOND''SELECT''SENSITIVE'
 
'SEPARATOR''SET''SHOW''SMALLINT''SONAME''SPATIAL''SPECIFIC''SQL'
 
'SQL_BIG_RESULT''SQL_CALC_FOUND_ROWS''SQL_SMALL_RESULT''SQLEXCEPTION''SQLSTATE'
 
'SQLWARNING''SSL''STARTING''STRAIGHT_JOIN''TABLE''TERMINATED''TEXT''THEN'
 
'TIME''TIMESTAMP''TINYBLOB''TINYINT''TINYTEXT''TO''TRAILING''TRIGGER''TRUE'
 
'UNDO''UNION''UNIQUE''UNLOCK''UNSIGNED''UPDATE''USAGE''USE''USING'
 
'UTC_DATE''UTC_TIME''UTC_TIMESTAMP''VALUES''VARBINARY''VARCHAR''VARCHARACTER'
 
'VARYING''WHEN''WHERE''WHILE''WITH''WRITE''X509''XOR''YEAR_MONTH''ZEROFILL'
 
'<''>''.'',''?''`''!''@''$''%''^''*''('')''_''-''+''=''/''|''\\''"'':'"'");
 
 
$unicode = array(
 
'&#38;',
 
'&#65;&#67;&#84;&#73;&#79;&#78;',
 
'&#65;&#68;&#68;',
 
'&#65;&#76;&#76;',
 
'&#65;&#76;&#84;&#69;&#82;',
 
'&#65;&#78;&#65;&#76;&#89;&#90;&#69;',
 
'&#65;&#78;&#68;',
 
'&#65;&#83;',
 
'&#65;&#83;&#67;',
 
'&#65;&#83;&#69;&#78;&#83;&#73;&#84;&#73;&#86;&#69;',
 
'&#66;&#69;&#70;&#79;&#82;&#69;',
 
'&#66;&#69;&#84;&#87;&#69;&#69;&#78;',
 
'&#66;&#73;&#71;&#73;&#78;&#84;',
 
'&#66;&#73;&#78;&#65;&#82;&#89;',
 
'&#66;&#73;&#84;',
 
'&#66;&#76;&#79;&#66;',
 
'&#66;&#79;&#84;&#72;',
 
'&#66;&#89;',
 
'&#67;&#65;&#76;&#76;',
 
'&#67;&#65;&#83;&#67;&#65;&#68;&#69;',
 
'&#67;&#65;&#83;&#69;',
 
'&#67;&#72;&#65;&#78;&#71;&#69;',
 
'&#67;&#72;&#65;&#82;',
 
'&#67;&#72;&#65;&#82;&#65;&#67;&#84;&#69;&#82;',
 
'&#67;&#72;&#69;&#67;&#75;',
 
'&#67;&#79;&#76;&#76;&#65;&#84;&#69;',
 
'&#67;&#79;&#76;&#85;&#77;&#78;',
 
'&#67;&#79;&#78;&#68;&#73;&#84;&#73;&#79;&#78;',
 
'&#67;&#79;&#78;&#83;&#84;&#82;&#65;&#73;&#78;&#84;',
 
'&#67;&#79;&#78;&#84;&#73;&#78;&#85;&#69;',
 
'&#67;&#79;&#78;&#86;&#69;&#82;&#84;',
 
'&#67;&#82;&#69;&#65;&#84;&#69;',
 
'&#67;&#82;&#79;&#83;&#83;',
 
'&#67;&#85;&#82;&#82;&#69;&#78;&#84;&#95;&#68;&#65;&#84;&#69;',
 
'&#67;&#85;&#82;&#82;&#69;&#78;&#84;&#95;&#84;&#73;&#77;&#69;',
 
'&#67;&#85;&#82;&#82;&#69;&#78;&#84;&#95;&#84;&#73;&#77;&#69;&#83;&#84;&#65;&#77;&#80;',
 
'&#67;&#85;&#82;&#82;&#69;&#78;&#84;&#95;&#85;&#83;&#69;&#82;',
 
'&#67;&#85;&#82;&#83;&#79;&#82;',
 
'&#68;&#65;&#84;&#65;&#66;&#65;&#83;&#69;',
 
'&#68;&#65;&#84;&#65;&#66;&#65;&#83;&#69;&#83;',
 
'&#68;&#65;&#84;&#69;',
 
'&#68;&#65;&#89;&#95;&#72;&#79;&#85;&#82;',
 
'&#68;&#65;&#89;&#95;&#77;&#73;&#67;&#82;&#79;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#68;&#65;&#89;&#95;&#77;&#73;&#78;&#85;&#84;&#69;',
 
'&#68;&#65;&#89;&#95;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#68;&#69;&#67;',
 
'&#68;&#69;&#67;&#73;&#77;&#65;&#76;',
 
'&#68;&#69;&#67;&#76;&#65;&#82;&#69;',
 
'&#68;&#69;&#70;&#65;&#85;&#76;&#84;',
 
'&#68;&#69;&#76;&#65;&#89;&#69;&#68;',
 
'&#68;&#69;&#76;&#69;&#84;&#69;',
 
'&#68;&#69;&#83;&#67;',
 
'&#68;&#69;&#83;&#67;&#82;&#73;&#66;&#69;',
 
'&#68;&#69;&#84;&#69;&#82;&#77;&#73;&#78;&#73;&#83;&#84;&#73;&#67;',
 
'&#68;&#73;&#83;&#84;&#73;&#78;&#67;&#84;',
 
'&#68;&#73;&#83;&#84;&#73;&#78;&#67;&#84;&#82;&#79;&#87;',
 
'&#68;&#73;&#86;',
 
'&#68;&#79;&#85;&#66;&#76;&#69;',
 
'&#68;&#82;&#79;&#80;',
 
'&#68;&#85;&#65;&#76;',
 
'&#69;&#65;&#67;&#72;',
 
'&#69;&#76;&#83;&#69;',
 
'&#69;&#76;&#83;&#69;&#73;&#70;',
 
'&#69;&#78;&#67;&#76;&#79;&#83;&#69;&#68;',
 
'&#69;&#78;&#85;&#77;',
 
'&#69;&#83;&#67;&#65;&#80;&#69;&#68;',
 
'&#69;&#88;&#73;&#83;&#84;&#83;',
 
'&#69;&#88;&#73;&#84;',
 
'&#69;&#88;&#80;&#76;&#65;&#73;&#78;',
 
'&#70;&#65;&#76;&#83;&#69;',
 
'&#70;&#69;&#84;&#67;&#72;',
 
'&#70;&#76;&#79;&#65;&#84;',
 
'&#70;&#76;&#79;&#65;&#84;&#52;',
 
'&#70;&#76;&#79;&#65;&#84;&#56;',
 
'&#70;&#79;&#82;',
 
'&#70;&#79;&#82;&#67;&#69;',
 
'&#70;&#79;&#82;&#69;&#73;&#71;&#78;',
 
'&#70;&#82;&#79;&#77;',
 
'&#70;&#85;&#76;&#76;&#84;&#69;&#88;&#84;',
 
'&#71;&#82;&#65;&#78;&#84;',
 
'&#71;&#82;&#79;&#85;&#80;',
 
'&#72;&#65;&#86;&#73;&#78;&#71;',
 
'&#72;&#73;&#71;&#72;&#95;&#80;&#82;&#73;&#79;&#82;&#73;&#84;&#89;',
 
'&#72;&#79;&#85;&#82;&#95;&#77;&#73;&#67;&#82;&#79;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#72;&#79;&#85;&#82;&#95;&#77;&#73;&#78;&#85;&#84;&#69;',
 
'&#72;&#79;&#85;&#82;&#95;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#73;&#70;',
 
'&#73;&#71;&#78;&#79;&#82;&#69;',
 
'&#73;&#78;',
 
'&#73;&#78;&#68;&#69;&#88;',
 
'&#73;&#78;&#70;&#73;&#76;&#69;',
 
'&#73;&#78;&#78;&#69;&#82;',
 
'&#73;&#78;&#79;&#85;&#84;',
 
'&#73;&#78;&#83;&#69;&#78;&#83;&#73;&#84;&#73;&#86;&#69;',
 
'&#73;&#78;&#83;&#69;&#82;&#84;',
 
'&#73;&#78;&#84;',
 
'&#73;&#78;&#84;&#49;',
 
'&#73;&#78;&#84;&#50;',
 
'&#73;&#78;&#84;&#51;',
 
'&#73;&#78;&#84;&#52;',
 
'&#73;&#78;&#84;&#56;',
 
'&#73;&#78;&#84;&#69;&#71;&#69;&#82;',
 
'&#73;&#78;&#84;&#69;&#82;&#86;&#65;&#76;',
 
'&#73;&#78;&#84;&#79;',
 
'&#73;&#83;',
 
'&#73;&#84;&#69;&#82;&#65;&#84;&#69;',
 
'&#74;&#79;&#73;&#78;',
 
'&#75;&#69;&#89;',
 
'&#75;&#69;&#89;&#83;',
 
'&#75;&#73;&#76;&#76;',
 
'&#76;&#69;&#65;&#68;&#73;&#78;&#71;',
 
'&#76;&#69;&#65;&#86;&#69;',
 
'&#76;&#69;&#70;&#84;',
 
'&#76;&#73;&#75;&#69;',
 
'&#76;&#73;&#77;&#73;&#84;',
 
'&#76;&#73;&#78;&#69;&#83;',
 
'&#76;&#79;&#65;&#68;',
 
'&#76;&#79;&#67;&#65;&#76;&#84;&#73;&#77;&#69;',
 
'&#76;&#79;&#67;&#65;&#76;&#84;&#73;&#77;&#69;&#83;&#84;&#65;&#77;&#80;',
 
'&#76;&#79;&#67;&#75;',
 
'&#76;&#79;&#78;&#71;',
 
'&#76;&#79;&#78;&#71;&#66;&#76;&#79;&#66;',
 
'&#76;&#79;&#78;&#71;&#84;&#69;&#88;&#84;',
 
'&#76;&#79;&#79;&#80;',
 
'&#76;&#79;&#87;&#95;&#80;&#82;&#73;&#79;&#82;&#73;&#84;&#89;',
 
'&#77;&#65;&#84;&#67;&#72;',
 
'&#77;&#69;&#68;&#73;&#85;&#77;&#66;&#76;&#79;&#66;',
 
'&#77;&#69;&#68;&#73;&#85;&#77;&#73;&#78;&#84;',
 
'&#77;&#69;&#68;&#73;&#85;&#77;&#84;&#69;&#88;&#84;',
 
'&#77;&#73;&#68;&#68;&#76;&#69;&#73;&#78;&#84;',
 
'&#77;&#73;&#78;&#85;&#84;&#69;&#95;&#77;&#73;&#67;&#82;&#79;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#77;&#73;&#78;&#85;&#84;&#69;&#95;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#77;&#79;&#68;',
 
'&#77;&#79;&#68;&#73;&#70;&#73;&#69;&#83;',
 
'&#78;&#65;&#84;&#85;&#82;&#65;&#76;',
 
'NO',
 
'&#78;&#79;&#95;&#87;&#82;&#73;&#84;&#69;&#95;&#84;&#79;&#95;&#66;&#73;&#78;&#76;&#79;&#71;',
 
'&#78;&#79;&#84;',
 
'&#78;&#85;&#76;&#76;',
 
'&#78;&#85;&#77;&#69;&#82;&#73;&#67;',
 
'&#79;&#78;',
 
'&#79;&#80;&#84;&#73;&#77;&#73;&#90;&#69;',
 
'&#79;&#80;&#84;&#73;&#79;&#78;',
 
'&#79;&#80;&#84;&#73;&#79;&#78;&#65;&#76;&#76;&#89;',
 
'&#79;&#82;',
 
'&#79;&#82;&#68;&#69;&#82;',
 
'&#79;&#85;&#84;',
 
'&#79;&#85;&#84;&#69;&#82;',
 
'&#79;&#85;&#84;&#70;&#73;&#76;&#69;',
 
'&#80;&#82;&#69;&#67;&#73;&#83;&#73;&#79;&#78;',
 
'&#80;&#82;&#73;&#77;&#65;&#82;&#89;',
 
'&#80;&#82;&#79;&#67;&#69;&#68;&#85;&#82;&#69;',
 
'&#80;&#85;&#82;&#71;&#69;',
 
'&#82;&#65;&#73;&#68;&#48;',
 
'&#82;&#69;&#65;&#68;',
 
'&#82;&#69;&#65;&#68;&#83;',
 
'&#82;&#69;&#65;&#76;',
 
'&#82;&#69;&#70;&#69;&#82;&#69;&#78;&#67;&#69;&#83;',
 
'&#82;&#69;&#71;&#69;&#88;&#80;',
 
'&#82;&#69;&#76;&#69;&#65;&#83;&#69;',
 
'&#82;&#69;&#78;&#65;&#77;&#69;',
 
'&#82;&#69;&#80;&#69;&#65;&#84;',
 
'&#82;&#69;&#80;&#76;&#65;&#67;&#69;',
 
'&#82;&#69;&#81;&#85;&#73;&#82;&#69;',
 
'&#82;&#69;&#83;&#84;&#82;&#73;&#67;&#84;',
 
'&#82;&#69;&#84;&#85;&#82;&#78;',
 
'&#82;&#69;&#86;&#79;&#75;&#69;',
 
'&#82;&#73;&#71;&#72;&#84;',
 
'&#82;&#76;&#73;&#75;&#69;',
 
'&#83;&#67;&#72;&#69;&#77;&#65;',
 
'&#83;&#67;&#72;&#69;&#77;&#65;&#83;',
 
'&#83;&#69;&#67;&#79;&#78;&#68;&#95;&#77;&#73;&#67;&#82;&#79;&#83;&#69;&#67;&#79;&#78;&#68;',
 
'&#83;&#69;&#76;&#69;&#67;&#84;',
 
'&#83;&#69;&#78;&#83;&#73;&#84;&#73;&#86;&#69;',
 
'&#83;&#69;&#80;&#65;&#82;&#65;&#84;&#79;&#82;',
 
'&#83;&#69;&#84;',
 
'&#83;&#72;&#79;&#87;',
 
'&#83;&#77;&#65;&#76;&#76;&#73;&#78;&#84;',
 
'&#83;&#79;&#78;&#65;&#77;&#69;',
 
'&#83;&#80;&#65;&#84;&#73;&#65;&#76;',
 
'&#83;&#80;&#69;&#67;&#73;&#70;&#73;&#67;',
 
'&#83;&#81;&#76;',
 
'&#83;&#81;&#76;&#95;&#66;&#73;&#71;&#95;&#82;&#69;&#83;&#85;&#76;&#84;',
 
'&#83;&#81;&#76;&#95;&#67;&#65;&#76;&#67;&#95;&#70;&#79;&#85;&#78;&#68;&#95;&#82;&#79;&#87;&#83;',
 
'&#83;&#81;&#76;&#95;&#83;&#77;&#65;&#76;&#76;&#95;&#82;&#69;&#83;&#85;&#76;&#84;',
 
'&#83;&#81;&#76;&#69;&#88;&#67;&#69;&#80;&#84;&#73;&#79;&#78;',
 
'&#83;&#81;&#76;&#83;&#84;&#65;&#84;&#69;',
 
'&#83;&#81;&#76;&#87;&#65;&#82;&#78;&#73;&#78;&#71;',
 
'&#83;&#83;&#76;',
 
'&#83;&#84;&#65;&#82;&#84;&#73;&#78;&#71;',
 
'&#83;&#84;&#82;&#65;&#73;&#71;&#72;&#84;&#95;&#74;&#79;&#73;&#78;',
 
'&#84;&#65;&#66;&#76;&#69;',
 
'&#84;&#69;&#82;&#77;&#73;&#78;&#65;&#84;&#69;&#68;',
 
'&#84;&#69;&#88;&#84;',
 
'&#84;&#72;&#69;&#78;',
 
'&#84;&#73;&#77;&#69;',
 
'&#84;&#73;&#77;&#69;&#83;&#84;&#65;&#77;&#80;',
 
'&#84;&#73;&#78;&#89;&#66;&#76;&#79;&#66;',
 
'&#84;&#73;&#78;&#89;&#73;&#78;&#84;',
 
'&#84;&#73;&#78;&#89;&#84;&#69;&#88;&#84;',
 
'&#84;&#79;',
 
'&#84;&#82;&#65;&#73;&#76;&#73;&#78;&#71;',
 
'&#84;&#82;&#73;&#71;&#71;&#69;&#82;',
 
'&#84;&#82;&#85;&#69;',
 
'&#85;&#78;&#68;&#79;',
 
'&#85;&#78;&#73;&#79;&#78;',
 
'&#85;&#78;&#73;&#81;&#85;&#69;',
 
'&#85;&#78;&#76;&#79;&#67;&#75;',
 
'&#85;&#78;&#83;&#73;&#71;&#78;&#69;&#68;',
 
'&#85;&#80;&#68;&#65;&#84;&#69;',
 
'&#85;&#83;&#65;&#71;&#69;',
 
'&#85;&#83;&#69;',
 
'&#85;&#83;&#73;&#78;&#71;',
 
'&#85;&#84;&#67;&#95;&#68;&#65;&#84;&#69;',
 
'&#85;&#84;&#67;&#95;&#84;&#73;&#77;&#69;',
 
'&#85;&#84;&#67;&#95;&#84;&#73;&#77;&#69;&#83;&#84;&#65;&#77;&#80;',
 
'&#86;&#65;&#76;&#85;&#69;&#83;',
 
'&#86;&#65;&#82;&#66;&#73;&#78;&#65;&#82;&#89;',
 
'&#86;&#65;&#82;&#67;&#72;&#65;&#82;',
 
'&#86;&#65;&#82;&#67;&#72;&#65;&#82;&#65;&#67;&#84;&#69;&#82;',
 
'&#86;&#65;&#82;&#89;&#73;&#78;&#71;',
 
'&#87;&#72;&#69;&#78;',
 
'&#87;&#72;&#69;&#82;&#69;',
 
'&#87;&#72;&#73;&#76;&#69;',
 
'&#87;&#73;&#84;&#72;',
 
'&#87;&#82;&#73;&#84;&#69;',
 
'&#88;&#53;&#48;&#57;',
 
'&#88;&#79;&#82;',
 
'&#89;&#69;&#65;&#82;&#95;&#77;&#79;&#78;&#84;&#72;',
 
'&#90;&#69;&#82;&#79;&#70;&#73;&#76;&#76;',
 
'&#60;''&#62;''&#46;''&#44;''&#63;''&#96;''&#33;''&#64;''&#36;''&#37;''&#94;''&#42;''&#40;''&#41;''&#95;''&#45;''&#43;',
 
'&#61;''&#47;''&#124;''&#92;''&#34;''&#58;''&#39;'
 
);
 
 if(
is_array($input)){
  
array_map("InputFilter"$input);
 }
 else{
  if(    
$type == 'encode'){
   
$input str_replace($utf8$unicodereset_magic_quotes($input));
  }
  if(
$type == 'decode'){
   
$input str_replace($unicode$utf8$input);
  }
  return 
$input;
 }
}

?>