2014-09-22 2 views
-1

я знаю, что в стеке, существует много вопросов, связанных с этим .. но я не нашел мой ответarray_map и mysqli_real_escape_string

Im пытается создать функцию, которая возвращает массив значений 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-escaping все без какого-либо смысла КАК данные будут использоваться также бессмысленно. –

+0

Спасибо за ваш ответ. Но главная цель этого - изменить всю функцию ... И подсказка будет лучше. Но все равно спасибо – user3587262

ответ

-2

я нашел это на веб-сайте PHP: http://php.net/manual/en/pdo.prepared-statements.php

Я готовлю состояние Это более безопасно?

Кроме того, я обновил свою функцию:

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; 
} 
Смежные вопросы