क्या इसे मरना है
इसके विपरीत, इसे or die()
हमेशा।
PHP खराब आनुवंशिकता की भाषा है। बहुत खराब आनुवंशिकता। और or die()
एक त्रुटि संदेश के साथ सबसे खराब मूल सिद्धांतों में से एक है:
- डाई एक त्रुटि संदेश बाहर फेंकता है, एक संभावित हमलावर को कुछ सिस्टम आंतरिक प्रकट करता है
- यह निर्दोष उपयोगकर्ताओं को अजीब संदेशों के साथ भ्रमित कर रहा है और उनके साथ काम करने के लिए कोई इंटरफ़ेस नहीं छोड़ रहा है, इसलिए वे शायद बस छोड़ देंगे।
- यह स्क्रिप्ट को बीच में ही मार देता है, इसलिए यह फटी हुई डिज़ाइन (या बिल्कुल भी डिज़ाइन नहीं) दिखा सकता है (यानी उपयोगकर्ता द्वारा अनुरोधित पृष्ठ का अधूरा रेंडर)
- स्क्रिप्ट को अपरिवर्तनीय रूप से मारना। जबकि फेंके गए अपवाद को पकड़ा जा सकता है और इनायत से संभाला जा सकता है
die()
आपको त्रुटि के स्थान का कोई संकेत नहीं देता . और अपेक्षाकृत बड़े एप्लिकेशन में इसे ढूंढना काफी कठिन होगा।
इसलिए, कभी भी die()
का उपयोग न करें MySQL त्रुटियों के साथ, अस्थायी डिबगिंग के लिए भी :बेहतर तरीके हैं।
त्रुटि के लिए मैन्युअल रूप से जाँच करने के बजाय, अपने कनेक्शन कोड में निम्न पंक्ति जोड़कर, त्रुटि पर अपवादों को फेंकने के लिए बस mysqli को कॉन्फ़िगर करें
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
और उसके बाद बस हर mysqli कमांड को बिना किसी or die
के, जैसा है वैसा ही लिखें या कुछ और:
$result = mysqli_query($link, $sql);
यह कोड त्रुटि के मामले में एक अपवाद फेंक देगा और इस प्रकार आपको हमेशा अतिरिक्त कोड की एक पंक्ति के बिना हर समस्या के बारे में सूचित किया जाएगा।
अपने कोड को अधिक साफ-सुथरा बनाते हुए अपनी त्रुटि रिपोर्टिंग उत्पादन को तैयार, समान और समग्र रूप से समझदार बनाने के तरीके के बारे में अधिक विस्तृत विवरण, आप मेरे लेख PHP त्रुटि रिपोर्टिंग ।