Isso ocorre porque mysql_real_escape_string leva em conta o conjunto de caracteres atual da conexão. Como tal, ele precisa de uma conexão. :-)
Se você não quiser configurar manualmente uma conexão com antecedência, você pode configurar os vários Padrões de tempo de execução do MySQL dentro do seu arquivo .ini.
No entanto, se você estiver usando sua própria classe de banco de dados (ou simplesmente os comandos manuais), geralmente vale a pena estabelecer a conexão no início da vida útil do script.