PDO के साथ डेटाबेस पहुंच को बढ़ाने के प्रयास में, कई डेवलपर्स को चुनौतियों का सामना करना पड़ता है, विशेष रूप से "WHERE... IN" के साथ। IN" प्रश्न। आइए पेचीदगियों में उतरें और पीडीओ द्वारा तैयार किए गए कथन के भीतर वस्तुओं की सूची का उपयोग करने के लिए उचित दृष्टिकोण की खोज करें। किसी प्रपत्र से चेक किए गए आइटमों की सूची के आधार पर डेटाबेस से आइटम हटाएं। प्रत्येक आइटम की एक संगत आईडी होती है, जिसे आम तौर पर एक सरणी में संग्रहीत किया जाएगा। पारंपरिक "कहां... IN" क्वेरी कुछ इस तरह दिखाई देगी:
हालाँकि, इस दृष्टिकोण के परिणामस्वरूप अक्सर केवल पहली आईडी हटा दी जाती है। ऐसा इसलिए है क्योंकि पीडीओ अल्पविराम से अलग की गई सूची को एकल मान के रूप में व्याख्या करता है, इसलिए बाद की आईडी को अनदेखा कर देता है। दृष्टिकोण में संपूर्ण अल्पविराम से अलग की गई सूची को अलग-अलग प्लेसहोल्डर (प्रश्न चिह्न) के साथ बदलना और प्रत्येक आईडी को प्लेसहोल्डर से बांधने के लिए सरणी के माध्यम से लूपिंग करना शामिल है। यहां बताया गया है कि आप इसे कैसे हासिल करेंगे:
$query = "DELETE FROM `foo` WHERE `id` IN (:idlist)"; $st = $db->prepare($query); $st->execute(array(':idlist' => $idlist));
यह संशोधित दृष्टिकोण सुनिश्चित करता है कि प्रत्येक आईडी को एक अलग पैरामीटर के रूप में माना जाता है, जिससे क्वेरी का सटीक निष्पादन सक्षम होता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3