2014-09-22 54 views
-1

我知道,在堆栈中,存在着大量的与此相关的问题..但我没有发现我的答案array_map和mysqli_real_escape_string

我试着去创建一个返回POST值的数组功能。而我是一个阵列地图上收到错误:

function clean_the_data ($data) { 
    if (is_array($data)) { 
     $data = array_map("trim", $data); 
     if (get_magic_quotes_gpc()) { $data = array_map("stripslashes", $data); } 


     $data = array_map($data, array($this->mysqli(), 'real_escape_string')); 
    }else{ 
     $data = trim($data); 
     $data = stripslashes($data); 

     $data= $this->mysqli->real_escape_string($data); 

    } 
    return $data; 
} 

在行

$data = array_map($data, array($this->mysqli(), 'real_escape_string')); 

我不是得到这个...

感谢您的时间

+0

老实说,大多数代码是毫无意义的/没用。您正在编写处理PHP配置和版本的代码,甚至不符合“石器时代”的标准。不要试图补偿魔术引号 - 任何人仍然运行启用了PHP的魔术引号版本应该是他们所遭受的所有痛苦。而且,在没有任何数据将被使用的意识的情况下盲目地转换sql,也是毫无意义的。 – 2014-09-22 21:12:58

+0

感谢您的回答..但是,这个的主要目标是改变所有功能......并且提示会更好。但是,无论如何,谢谢 – user3587262 2014-09-22 22:23:48

回答

-2

我发现这在PHP网站上: http://php.net/manual/en/pdo.prepared-statements.php

我正在做准备状态ments,它更安全吗?

另外,我更新了我的功能:

function clean_the_data ($data) { 
    if (is_array($data)) { 
     $data = array_map($data, array($this->mysqli(), 'real_escape_string')); 
    }else{ 
     $data= $this->mysqli->real_escape_string($data); 
    } 
    return $data; 
} 
相关问题