Das liegt daran, dass mysql_real_escape_string berücksichtigt den aktuellen Zeichensatz der Verbindung. Als solches braucht es eine Verbindung. :-)
Wenn Sie keine Verbindung vorab manuell einrichten möchten, können Sie die verschiedenen MySQL-Laufzeitvorgaben in Ihrer INI-Datei.
Wenn Sie jedoch Ihre eigene Datenbankklasse verwenden (oder einfach die manuellen Befehle), lohnt es sich oft, die Verbindung früh in der Lebenszeit Ihres Skripts herzustellen.