ऐसा इसलिए है क्योंकि mysql_real_escape_string कनेक्शन के वर्तमान वर्ण सेट को ध्यान में रखता है। ऐसे में इसे कनेक्शन की जरूरत है। :-)
यदि आप पहले से मैन्युअल रूप से एक कनेक्शन स्थापित नहीं करना चाहते हैं, तो आप विभिन्न MySQL रनटाइम डिफॉल्ट्स आपकी .ini फ़ाइल में।
हालाँकि, यदि आप अपने स्वयं के डेटाबेस वर्ग (या केवल मैनुअल कमांड) का उपयोग कर रहे हैं, तो यह अक्सर आपकी स्क्रिप्ट के जीवनकाल में कनेक्शन स्थापित करने के लायक होता है।