Esto se debe a que mysql_real_escape_string tiene en cuenta el juego de caracteres actual de la conexión. Como tal, necesita una conexión. :-)
Si no desea configurar manualmente una conexión por adelantado, puede configurar las diversas Valores predeterminados del tiempo de ejecución de MySQL dentro de su archivo .ini.
Sin embargo, si está utilizando su propia clase de base de datos (o simplemente los comandos manuales), a menudo vale la pena establecer la conexión temprano en la vida útil de su secuencia de comandos.