Pagina 1 din 1

Filtrare mysql_real_escape_string in MySQLi

Scris: Mar Ian 29, 2013
de bordanc_nicu
Salut, am modificat intr-un script modul de conectare din mysql versiunea standard, in mysqli, iar la o functie imi da eroare un anumit cod.
Functia este urmatoarea:

Cod: Selectaţi tot

function clean($str)
{
$str=array_map("trim",$str);
return array_map("mysql_real_escape_string",$str);
}
if(isset($_GET))
$_GET=clean($_GET);
else
$_GET="";
if(isset($_POST))
$_POST=clean($_POST);
else
$_POST="";
Primesc eroare la linia:

Cod: Selectaţi tot

return array_map("mysql_real_escape_string",$str);
Nu stiu cum sa o apelez in metoda noua de conectare, pentru ca primesc erori in toate modurile incercate.
Am incercat si:

Cod: Selectaţi tot

return array_map("$conn->mysql_real_escape_string",$str);
Dar tot primesc eroare.

Filtrare mysql_real_escape_string in MySQLi

Scris: Mar Ian 29, 2013
de MarPlo
Salut
Functia mysql_real_escape_string() nu merge in MySQLi.
In MySQLi se foloseste:
$conn->real_escape_string()

Ca sa fie utilizata intr-o functie, trebuie $conn recunoscut in acea functie, prin GLOBAL, sau parametru.
Exemplu:

Cod: Selectaţi tot

function clean($aray, $conn=0) {
  $aray = array_map("trim",$aray);
  if($conn != 0) {
    foreach($aray as $key => $value) {
      $aray[$key] = $conn->real_escape_string($value);
    }
  }
  return $aray;
}

$_POST = clean($_POST, $conn);
 

Filtrare mysql_real_escape_string in MySQLi

Scris: Mie Ian 30, 2013
de bordanc_nicu
Multumesc de rezolvare, dar mai am o intrebare:
De ce se foloseste functia foreach doar la $conn->real_escape_string?
Nu trebuie adaugata si aceasta linie in interiorul buclei?

Cod: Selectaţi tot

$aray = array_map("trim",$aray);

Filtrare mysql_real_escape_string in MySQLi

Scris: Mie Ian 30, 2013
de MarPlo
Functia array_map() aplica ea filtrarea (in acest caz cu "trim()") la toate elementele din $aray.
Pentru nelamuriri legate de functii php, cea mai buna sursa de documentare e pe site-ul php.net .

- Problema referitoare la subiectul acestui topic fiind rezolvata, subiectul e inchis ca sa nu se adauge postari cu intrebari ce nu tin exact de titlul subiectului.