यहाँ अंगूठे का सामान्य नियम है।
आप चाहते हैं कि आपके चर डेटा के स्वच्छ प्रतिनिधित्व हों। अर्थात्, यदि आप "ओ'ब्रायन" नाम के किसी व्यक्ति का अंतिम नाम संग्रहीत करने का प्रयास कर रहे हैं, तो आप निश्चित रूप से नहीं ये चाहते हैं:
O'Brien
O\'Brien
.. क्योंकि, ठीक है, यह उसका नाम नहीं है:इसमें कोई एम्परसेंड या स्लैश नहीं है। जब आप उस वेरिएबल को लेते हैं और इसे किसी विशेष संदर्भ में आउटपुट करते हैं (उदाहरण:SQL क्वेरी में डालें, या HTML पृष्ठ पर प्रिंट करें), वह जब आप इसे संशोधित करते हैं।
$name = "O'Brien";
$sql = "SELECT * FROM people "
. "WHERE lastname = '" . mysql_real_escape_string($name) . "'";
$html = "<div>Last Name: " . htmlentities($name, ENT_QUOTES) . "</div>";
आप कभी नहीं चाहते कि htmlentities
- आपके डेटाबेस में संग्रहीत एन्कोडेड तार। क्या होता है जब आप एक CSV या PDF, या कुछ भी जो नहीं उत्पन्न करना चाहते हैं एचटीएमएल?
डेटा को साफ़ रखें, और केवल उस समय के विशिष्ट संदर्भ के लिए ही बचें।