Также очень важно понимать, что mysql_real_escape_string ничего не очищает.
Применяя эту функцию, вы не делаете данные безопасными.Это очень распространенное недоразумение.
Эта функция просто экранирует разделители строк.Таким образом, он работает только для строк, заключенных в кавычки.Таким образом, настоящая дезинфекция может быть только такой:
$_GET[$key] = "'".mysql_real_escape_string($_GET[$key])."'";
И даже этого недостаточно.
Но, как уже упоминал Мэтт, это будет очень плохая практика.И даже больше: на самом деле, не только входные данные должны быть правильно отформатированы / параметризованы.Это функция базы данных, а не пользовательский ввод!Это не имеет ничего общего с пользовательским вводом.Некоторые данные могут поступать не из пользовательского ввода, а из файла или другого запроса или некоторого сервиса - все это также должно быть правильно отформатировано.Это очень важно понять.
Также вы используете странный способ итерации массивов.
этот более распространенный:
foreach($_GET as $key => $value)
{
$_GET[$key] = mysql_real_escape_string($value);
}