Detta beror på att mysql_real_escape_string tar hänsyn till anslutningens aktuella teckenuppsättning. Som sådan behöver den en anslutning. :-)
Om du inte vill ställa in en anslutning manuellt i förväg kan du ställa in olika MySQL runtime defaults i din .ini-fil.
Men om du använder din egen databasklass (eller helt enkelt de manuella kommandona) är det ofta värt att upprätta anslutningen tidigt under ditt skripts livstid.