समझना "चेतावनी: mysqli_query() को उम्मीद है कि पैरामीटर 1 MySQLi होगा, शून्य दिया गया है" त्रुटि
एक कस्टम बनाने के आपके प्रयास में सीएमएस, आपको निम्न त्रुटि संदेश मिला:
"चेतावनी: mysqli_query() पैरामीटर 1 की अपेक्षा करता है MySQLi हो, शून्य दिया गया है"
त्रुटि का कारण
यह त्रुटि इंगित करती है कि mysqli_query() फ़ंक्शन, जो SQL क्वेरी निष्पादित करता है, एक MySQLi ऑब्जेक्ट की अपेक्षा करता है पहला पैरामीटर. हालाँकि, आपके getPosts() फ़ंक्शन में, आप MySQLi ऑब्जेक्ट के बजाय एक शून्य मान पास कर रहे हैं।
Solution
इस समस्या का समाधान यह सुनिश्चित करना है कि $con MySQLi ऑब्जेक्ट getPosts() फ़ंक्शन के दायरे में है। आपके कोड में, $con को वैश्विक दायरे में परिभाषित किया गया है, लेकिन यह फ़ंक्शन के भीतर पहुंच योग्य नहीं है।
MySQLi ऑब्जेक्ट को एक निर्भरता के रूप में पास करना
एक तरीका इसका उद्देश्य MySQLi ऑब्जेक्ट को निर्भरता के रूप में getPosts() फ़ंक्शन में पास करना है। यहां बताया गया है कि आप इसे कैसे कर सकते हैं:
function getPosts(mysqli $con) { // etc }
Mysqli ऑब्जेक्ट को फ़ंक्शन का एक पैरामीटर बनाकर, आप सुनिश्चित करते हैं कि यह फ़ंक्शन के दायरे में उपलब्ध है और इसका उपयोग mysqli_query() द्वारा किया जा सकता है।
अतिरिक्त अनुशंसाएँ
स्कोपिंग मुद्दे को हल करने के अलावा, निम्नलिखित को लागू करने पर विचार करें सिफ़ारिशें:
इन्हें कैसे कार्यान्वित किया जाए इसका एक उदाहरण यहां दिया गया है सिफ़ारिशें:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (!$con) { throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error()); } getPosts($con);
इन अनुशंसाओं को लागू करके, आप अपने कस्टम सीएमएस की मजबूती और विश्वसनीयता सुनिश्चित कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3