mysql_real_escape_string() και arrays

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

mysql_real_escape_string() και arrays

Δημοσίευση από abeautifulmind » 05 Σεπ 2012 22:35

Καλησπέρα.
Έχω αυτό το κομμάτι κώδικα

Κώδικας: Επιλογή όλων

if(!get_magic_quotes_gpc())
{
  $_GET = array_map('mysql_real_escape_string', $_GET); 

  

  $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);

}
else
{  
   $_GET = array_map('stripslashes', $_GET); 

   $_POST = array_map('stripslashes', $_POST); 

   $_COOKIE = array_map('stripslashes', $_COOKIE);

   $_GET = array_map('mysql_real_escape_string', $_GET); 

   $_POST = array_map('mysql_real_escape_string', $_POST); 

   $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);

}
?>
στο αρχείο μου connections.php που το κάνω include όπου έχω σύνδεση με sql.
Όλα καλά μέχρι που χρειάστηκα να κάνω $_POST array με πολλές τιμές και δεν τις περνούσε στην βάση.
Το warning
mysql_real_escape_string() expects parameter 1 to be string, array given in /var/www/mysite/httpdocs/connections.php on line 22
Κατά κύριο λόγο αυτή η τεχνική με τους ελέγχους στο αρχείο connections μόνο είναι αρκετή,σωστή?
Υπάρχει τρόπος να μην αφαιρέσω τους ελέγχους αλλά να περνάνε τα arrays?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

mysql_real_escape_string() και arrays

Δημοσίευση από fafos » 05 Σεπ 2012 23:43

1. ftiaxneis mia function opou elenxeis an einai array

2. an den einai proxoras sto escape

3. an einai array loopareis thn function me thn array_map:

Κώδικας: Επιλογή όλων

function checkPosts($val) {
if (is_array($val))
        array_map('checkPosts', $val);
    else
        $val = mysql_real_escape_string($val);
}

 $_GET = checkPosts($_GET);
 $_POST = checkPosts($_POST);
 $_COOKIE = checkPosts($_COOKIE);
klp
klp

Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

mysql_real_escape_string() και arrays

Δημοσίευση από gvre » 06 Σεπ 2012 12:56

... ή εναλλακτικά ξεχνάς τα addslashes, stripslashes, mysql_real_escape_string κλπ και χρησιμοποιείς prepared statements.

Άβαταρ μέλους
Punkis
Δημοσιεύσεις: 260
Εγγραφή: 27 Αύγ 2009 22:45

mysql_real_escape_string() και arrays

Δημοσίευση από Punkis » 06 Σεπ 2012 14:27

Only Green Day can successfully write a song about masturbation.

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

mysql_real_escape_string() και arrays

Δημοσίευση από abeautifulmind » 09 Σεπ 2012 20:11

Καλησπέρα και σας ευχαριστώ για τις απαντήσεις σας είναι όλες χρήσιμες.
fafo αν η μεταβλητή είναι array την looparei και μετά κάνει escape κάθε μία ξεχωριστά?δηλαδή να κάνω έτσι?
function checkPosts($val) {
if (is_array($val))
array_map('checkPosts', $val);
else
$val = mysql_real_escape_string($val);
$val = stripslashes($val);
}
ή δεν κάνει escape καθόλου αν είναι array?
gvre πολύ ενδιαφέρον μήπως θα μπορούσες να δώσεις ένα απλό παράδειγμα?

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

mysql_real_escape_string() και arrays

Δημοσίευση από gvre » 10 Σεπ 2012 08:57

abeautifulmind έγραψε: gvre πολύ ενδιαφέρον μήπως θα μπορούσες να δώσεις ένα απλό παράδειγμα?
http://php.net/manual/en/pdo.prepared-statements.php

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης