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

एकाधिक तैयार स्टेटमेंट चलाने पर PHP/MySQLi में \"कमांड आउट ऑफ सिंक\" त्रुटि का समाधान कैसे करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:672

How to Resolve the \

PHP कमांड आउट ऑफ सिंक त्रुटि

PHP/MySQLi में कई तैयार किए गए स्टेटमेंट चलाते समय, "कमांड आउट ऑफ सिंक" का सामना करना संभव है सिंक, आप अभी कमांड नहीं चला सकते" त्रुटि। ऐसा तब होता है जब बाद के कथन निष्पादित करने का प्रयास करते हैं जबकि पूर्व परिणाम डेटा बफर में असंसाधित रहता है।

इस समस्या को सुधारने के लिए, अगले निष्पादन से पहले संग्रहीत परिणाम डेटा को स्पष्ट रूप से जारी करने के लिए mysqli_free_result() फ़ंक्शन का उपयोग करना अनिवार्य है। कथन। इसके अतिरिक्त, आंतरिक पॉइंटर को अगले परिणाम सेट पर आगे बढ़ाने के लिए प्रत्येक स्टेटमेंट निष्पादन के बाद mysqli ऑब्जेक्ट पर Next_result() फ़ंक्शन को कॉल करना महत्वपूर्ण है।

आपके विशिष्ट कोड उदाहरण में, निष्पादन के दौरान त्रुटि उत्पन्न होती है $stmt1 क्योंकि $stmt से परिणाम साफ़ नहीं हुआ है। स्पष्ट रूप से mysqli_free_result($stmt) को कॉल करके और बाद में $mysqli->next_result() को कॉल करके, आप यह सुनिश्चित कर सकते हैं कि बफर खाली हो गया है और पॉइंटर अगले स्टेटमेंट के लिए रीसेट हो गया है।

संशोधित कोड उदाहरण:

    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($user_id, $username, $db_password, $firstname, $lastname, $salt);
    $stmt->fetch();

    $stmt->free_result();
    $stmt->close();

    while ($mysqli->more_results()) {
        $mysqli->next_result();
    }

    $stmt1 = $mysqli->prepare("SELECT privileges FROM delegations WHERE id = ? LIMIT 1");
    $stmt1->bind_param('s', $user_id);
    $stmt1->execute();
    $stmt1->store_result();
    $stmt1->bind_result($privileges);
    $stmt1->fetch();

    $stmt1->free_result();
    $stmt1->close();

इन सुधारों को लागू करके, आप "कमांड आउट ऑफ सिंक" त्रुटि को खत्म कर देंगे और सुनिश्चित करेंगे कि बाद में तैयार किए गए स्टेटमेंट निर्बाध रूप से निष्पादित हो सकें।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729135816 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3