"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > `mysqli_query()` क्यों लौटता है "चेतावनी: mysqli_query() को उम्मीद है कि पैरामीटर 1 MySQLi होगा, शून्य दिया गया"?

`mysqli_query()` क्यों लौटता है "चेतावनी: mysqli_query() को उम्मीद है कि पैरामीटर 1 MySQLi होगा, शून्य दिया गया"?

2024-12-22 को प्रकाशित
ब्राउज़ करें:203

Why Does `mysqli_query()` Return

समझना "चेतावनी: 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::error का उपयोग करके होती है तो स्क्रिप्ट निष्पादन रोकें ().

इन्हें कैसे कार्यान्वित किया जाए इसका एक उदाहरण यहां दिया गया है सिफ़ारिशें:

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