द्वारा निष्पादित नहीं किया जा सकता है मेरे पास "ईवेंट" तालिका है। सादगी के लिए, आप कल्पना कर सकते हैं कि यह पदानुक्रमित श्रेणी जैसा होना चाहिए। यह (http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ अपने पद के लिए मार्क हिलियर के लिए धन्यवाद) नेस्टेड सेट मॉडल का उपयोग करताकोडनिर्देशक में एकाधिक प्रश्नों को निष्पादित करना जिसे एक
मेरे कोड:
$query =
"LOCK TABLE event WRITE;
SELECT @ParentRight := parent.rgt, @Level := parent.level FROM event AS parent WHERE parent.id = '{$data['parent_id']}';
UPDATE event SET rgt = rgt + 2 WHERE rgt > @ParentRight;
UPDATE event SET lft = lft + 2 WHERE lft > @ParentRight;
INSERT INTO event(lft, rgt, level) VALUES(@ParentRight, @ParentRight + 1, @Level);
UNLOCK TABLES;";
mysqli_multi_query($this->db->conn_id, $query);
$data['id'] = $this->db->insert_id();
return $this->db->update('event', $data);
और उसके बाद मैं $this->db->update('event', $data)
$data
एक सरणी है जिसे उपयोगकर्ता ने भर दिया है।
समस्या 1:
मैं $ क्वेरी निष्पादित नहीं कर सकासाथ $ this-> db-> क्वेरी ($ क्वेरी);;
समाधान 1 बात नहीं बनी:
मैं उपयोग mysqli db इंजन।
II। mysqli_multi_query($this->db->conn_id, $query);
जबकि मैंने सोचा कि यह काम करता है, यह निम्न त्रुटि दे रहा है:
Commands out of sync; you can’t run this command now.
समस्या 2:
$this->db->insert_id()
काम नहीं करता है (रिटर्न 0)
समस्या 3:
$this->db->update('event', $data);
त्रुटियां: Commands out of sync; you can't run this command now
मैं इस कोड को काम करने के लिए कैसे सही कर सकता हूं? मुझे पहली समस्या का हल ढूंढने में भी खुशी होगी।
आप एकल प्रश्नों की एक सरणी है और उन्हें एक पाश – GordonM
नहीं में निष्पादित, जैसा कि आप इस मामले में देख सकते हैं अलग-अलग क्वेरी के रूप में क्रियान्वित करने से काम नहीं करता सका, क्योंकि यह याद नहीं आ रहा पिछले प्रश्नों से '@ myRight' और' @ Level' vars 'परिणाम –
क्या वे डिस्कनेक्ट होने तक चर संरक्षित नहीं हैं? – GordonM