Вот я написал функцию для экранирование символов.
function db_real_escape_string($data=array()) {
$data = (!empty($data)) ? $data : array();
foreach($data as $k => $v) {
$values = mysql_real_escape_string($v);
$data[$k] = $values;
}
return $data;
}
Вопрос в том хватит ли этой функции для экранировании символов?
Или можно что то еще добавить?
Спустя 3 часа, 8 минут, 13 секунд (17.05.2011 - 20:03) Mirexzpalich написал(а):
Для БД кватит вполне. Только вот лучшетак:
$data = (!empty($data)&& is_array($data)) ? $data : array();
Спустя 7 минут, 54 секунды (17.05.2011 - 20:11) alex12060 написал(а):
function db_real_escape_string($data=array()) {
$data = (!empty($data)) ? $data : null;
if (is_null($data)) return false;
$data = array_map('mysql_real_escape_string', $data);
return $data;
}
Или так
function db_real_escape_string($data=array()) {
$data = (!empty($data)) ? $data : null;
if (is_null($data)) return false;
//$data = array_map('mysql_real_escape_string', $data);
foreach($data as $key => $val) {
if (!is_array($val)) $data[$key] = mysql_real_escape_string($val);
else
$data[$key] = array_map('mysql_real_escape_string', $val);
}
return $data;
}
Спустя 18 минут, 12 секунд (17.05.2011 - 20:30) inpost написал(а):
Doc
irbis-team.com => escapeString()
irbis-team.com => escapeString()
Спустя 18 минут, 15 секунд (17.05.2011 - 20:48) ИНСИ написал(а):
Цитата |
$data = (!empty($data)) ? $data : null; if (is_null($data)) return false; |
alex12060 мне кажется данная проверка не будет работать исправно, если значение $data будет равно 0
Я бы сделал так, не надо забывать про магические кавычки:
function varFilter($value) {
if(is_array($value)) {
$value = array_map('varFilter', $value);
} else {
$value = trim($value);
if(get_magic_quotes_gpc()) $value = stripslashes($value);
}
return mysql_real_escape_string($value);
}
Спустя 1 день, 21 час, 6 минут, 58 секунд (19.05.2011 - 17:55) Guest написал(а):
Вот кое что исправил взяв от ваших примеров.
function db_real_escape_string($data=array()) {
$data = (!empty($data) && is_array($data)) ? $data : '';
if(empty($data)) exit('Нет данных');
foreach($data as $k => $v) {
$values = trim($v);
if(get_magic_quotes_gpc()) $values = stripslashes($values);
$data[$k] = mysql_real_escape_string($values);
}
return $data;
}