2010-07-22 15 views
11

का उपयोग कर डेटाबेस में किसी फ़ील्ड के मान को अपडेट करें I codeigniter सक्रिय रिकॉर्ड का उपयोग कर SQL कथन लागू करना चाहते हैं।कोडिनेटर

UPDATE tags SET usage = usage+1 WHERE tag="java"; 

कोडिनेटर सक्रिय रिकॉर्ड का उपयोग करके मैं इसे कैसे कार्यान्वित कर सकता हूं?

सादर

उत्तर

31
$this->db->set('usage', 'usage+1', FALSE); 
$this->db->where('tag', 'java'); 
$this->db->update('tags'); 
+0

उस पर छोटे नोट अद्यतन करने के लिए बस स्पष्ट करने के लिए है कि आप करने के लिए optioanl पैरामीटर सेट करता है, तो गलत, कोडइग्निटर बैकटिक्स के साथ आपके फ़ील्ड या टेबल नामों की रक्षा करने की कोशिश नहीं करेगा। – jkilbride

+0

एक और छोटा नोट, आपने पहली पंक्ति में सेमीकॉलन को याद किया :) – jeff

+0

क्या आप एक ही अपडेट में एकाधिक सेट() का उपयोग कर सकते हैं? –

0

मुझे लगता है इसकी कभी कभी सरल सिर्फ सक्रिय रिकार्ड मेरे लिए यह निर्माण होने के बजाय एसक्यूएल लिखने के लिए।

$sql = 'update tags set usage=usage+1 where tag=?'; 
$this->db->query($sql, array($tag)); 
3

इस

$data = array('usage' => 'usage+1', *other columns*); 
$this->db->where('tag', 'java'); 
$this->db->update('tags', $data); 

अद्यतन की तरह कुछ का उपयोग कर सकते हैं: $ डेटा पर पारित किया जा रहा नहीं कर रहा था

+1

अपना '$ डेटा' भेजने के लिए मत भूलना। '$ this-> डीबी-> अपडेट ('टैग', $ डेटा)' –

+0

मेरे लिए काम नहीं करता – abimelex

+0

अपना कोड यहां पेस्ट करें। –