Důvodem je, že mysql_real_escape_string zohledňuje aktuální znakovou sadu připojení. Jako takový potřebuje spojení. :-)
Pokud nechcete ručně nastavovat připojení předem, můžete nastavit různé Výchozí nastavení běhového prostředí MySQL ve vašem souboru .ini.
Pokud však používáte svou vlastní databázovou třídu (nebo jednoduše ruční příkazy), často se vyplatí navázat spojení na začátku životnosti vašeho skriptu.