मैं अपने PHP कोड को mysql से mysqli में अपडेट कर रहा हूं लेकिन मुझे इस प्रश्न का उत्तर नहीं मिल रहा है: क्या mysqli अद्यतन क्वेरी परिणाम लौटाती हैं?क्या mysqli अद्यतन क्वेरी परिणाम लौटाना चाहिए?
mysql के साथ, मैं क्या कर सकता है
$result = mysql_query("UPDATE `data` SET `field1` = 1 WHERE `key` = '$mykey');
और $ परिणाम सच हो जाएगा, भले ही क्वेरी किसी भी पंक्तियों को वापस नहीं करता है।
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = (?)")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$result = $stmt->get_result();
और $ परिणाम गलत है:
अब, हालांकि, mysqli कोड में, मैं कुछ इस तरह (स्पष्टता के लिए त्रुटि हैंडलिंग हटा दिया है)।
रिकॉर्ड के लिए, क्वेरी मान्य है (किसी भी टाइपो को अनदेखा कर दें जिसे मैंने इसे स्टैक ओवरफ्लो में ट्रांसक्रिप्ट कर दिया हो) और फ़ील्ड 1 को अपेक्षित रूप से डेटाबेस में अपडेट किया गया है। इसके अलावा, get_result() चुनिंदा प्रश्नों के लिए ठीक काम करता है, इसलिए यह get_result() उपलब्ध नहीं है।
असल में, मैं सिर्फ यह जानना चाहता हूं कि यह बदला व्यवहार अपेक्षित है या मुझे कहीं कुछ बग खोजने की कोशिश करनी चाहिए।
ठीक है ... एक टिप्पणी प्रतीत होती है कि मुझे प्रलेखन की जांच करने के लिए कहा गया है, जो वास्तव में बताता है कि get_result "परिणामस्वरूप परिणाम देता है या विफलता पर गलत होता है।" मैं पहले से ही अपने प्रश्न पूछने से पहले पढ़ता हूं, और मुझे लगता है कि दस्तावेज सटीक होने पर मैं उत्सुक हूं। $ Stmt-> get_result() झूठी लौटने के बाद, मैंने $ stmt-> errno (जो 0 था) और $ stmt-> त्रुटि (जो खाली थी) की जांच की और क्वेरी सफलतापूर्वक निष्पादित करने लगती थी (क्योंकि डेटाबेस अपडेट किया गया था)। तो यह त्रुटि कहां हो रही है? – Swiftheart