"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मुझे MySQLi द्वारा तैयार किए गए स्टेटमेंट में \"बाइंड वेरिएबल्स बेमेल की संख्या\" त्रुटि क्यों मिल रही है?

मुझे MySQLi द्वारा तैयार किए गए स्टेटमेंट में \"बाइंड वेरिएबल्स बेमेल की संख्या\" त्रुटि क्यों मिल रही है?

2024-10-31 को प्रकाशित
ब्राउज़ करें:987

Why Am I Getting \

तैयार स्टेटमेंट इंसर्शन में बाइंड वेरिएबल्स बेमेल की संख्या

MySQLi द्वारा तैयार स्टेटमेंट का उपयोग करके INSERT स्टेटमेंट निष्पादित करते समय, उपयोगकर्ताओं को त्रुटि का सामना करना पड़ सकता है: " बाइंड वेरिएबल्स की संख्या तैयार कथन में फ़ील्ड्स की संख्या से मेल नहीं खाती है।"

यह समस्या तब उत्पन्न होती है जब बाइंड वेरिएबल्स की संख्या बाइंड_परम () विधि में प्रदान की गई विधि INSERT क्वेरी में प्लेसहोल्डर्स की संख्या के साथ संरेखित नहीं है। उदाहरण के लिए, नीचे दिए गए कोड स्निपेट पर विचार करें:

if($stmt = $conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)")) {

  /* Bind parameters s - string, b - blob, i - int, etc */
  $stmt->bind_param("ss", $user, $pw);

  /* Execute it */
  $stmt->execute();

  /* Bind results */
  $stmt->bind_result($user, $pw);

  /* Close statement */
  $stmt->close();
  $userId = $conn->insert_id;
}

इस कोड में, INSERT स्टेटमेंट में दो प्लेसहोल्डर (?) हैं: एक उपयोगकर्ता के लिए और एक पास के लिए। हालाँकि, बाइंड_परम () विधि प्लेसहोल्डर्स के लिए दो वेरिएबल्स ($ उपयोगकर्ता, $ pw) को बाइंड कर रही है। इसके परिणामस्वरूप बेमेल त्रुटि होती है।

इसका समाधान बाइंड_रिजल्ट() विधि कॉल को हटाना है क्योंकि INSERT कथन कोई परिणाम नहीं लौटाता है। नीचे अद्यतन किया गया कोड तालिका में डेटा को सही ढंग से सम्मिलित करता है:

if($stmt = $conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)")) {

  /* Bind parameters s - string, b - blob, i - int, etc */
  $stmt->bind_param("ss", $user, $pw);

  /* Execute it */
  $stmt->execute();

  /* Close statement */
  $stmt->close();
  $userId = $conn->insert_id;
}
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3