Questo perché mysql_real_escape_string tiene conto del set di caratteri corrente della connessione. In quanto tale, ha bisogno di una connessione. :-)
Se non vuoi impostare manualmente una connessione in anticipo, puoi impostare i vari Impostazioni predefinite di runtime MySQL all'interno del tuo file .ini.
Tuttavia, se stai utilizzando la tua classe di database (o semplicemente i comandi manuali), spesso vale la pena stabilire la connessione all'inizio della vita dello script.