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 :)