simple_query()
कोडइग्निटर में एकमात्र डेटाबेस विधि है जो आपके द्वारा बताए अनुसार व्यवहार करती है। जैसा कि प्रलेखन कहता है:"अधिकांश उपयोगकर्ता शायद ही कभी इस फ़ंक्शन का उपयोग करेंगे।"
कुछ अपवादों के साथ, अन्य सभी क्वेरी बिल्डर विधियाँ या तो एक DB_query_builder
लौटाती हैं उदाहरण के लिए CI_DB_result
ऑब्जेक्ट या - "लिखने" प्रकार के प्रश्नों के मामले में - एक बूलियन जो सफलता या विफलता को इंगित करता है। कुछ अपवाद एक पूर्णांक, स्ट्रिंग या मिश्रित (एक मान या FALSE) लौटाते हैं।
इनपुट मान स्वीकार करने वाली सभी विधियां प्रदान किए गए मानों से बच जाती हैं (या वैकल्पिक रूप से बच नहीं पाती हैं)।
जबकि क्वेरी बिल्डर (क्यूबी) एक महान उपकरण है, यह अक्सर आवश्यक नहीं होता है। $this->db->query('your statement here');
. का उपयोग करना अक्सर अधिक कुशल होता है। QB के लक्ष्य को समझें कि एक स्ट्रिंग बनाना है जिसका उपयोग db->query('a query string');
पर कॉल में शाब्दिक रूप से किया जाता है। .
तो यह सब लिखने के बजाय...
$this->db->select('id, name, email');
$this->db->from('customers');
$this->db->where('id', $id)
$this->db->where('active', $is_active)
$query = $this->get();
$result = $query->result();
निम्नलिखित टाइप करने से ऊपर के समान सटीक परिणाम मिलते हैं क्योंकि यह सीधे क्वेरी स्ट्रिंग प्रदान करता है जिसे QB ने उपरोक्त कोड में बनाया है। (क्वेरी भी पूरी तरह से बच गई है।) लेकिन यह वहां पहुंचने के लिए एक टन कम कोड निष्पादित करता है। (कम टाइपिंग के साथ।)
$query = $this->db->query("Select id, name, email from customers where id = ? and active = ?", [$id, $is_active]);
$result = $query->result();
यह क्वेरी बाइंडिंग का उपयोग करने का एक उदाहरण है
कोर सोर्स कोड (ज्यादातर 'ड्राइवर' फाइलों में) का अध्ययन आपको दिखाएगा कि simple_query()
का उपयोग कहां किया जा रहा है उपयुक्त और उपयोगी है।