Imaginate una función así:
Código PHP:
function manejaTexto ($texto) {
return $texto;
}
$miVariableLimpiada = manejaTexto($miVariableFormulario);
Esa función recoge un texto y te lo devuelve.
My_sql_real_escape_string hace lo mismo, pero gestionando el contenido de esa variable para buscar cosas feas y monstruosas y quitarlas. Para hacerlo necesita una conexión a la base de datos, así que cada vez que uses my_sql_real_escape_string hazlo como si fuera mysql_query, es decir, ten una conexión abierta.
Espero que te quede más claro :)