2015-10-19 5 views
0

Я вызываю процедуру в код воспламенитель, и когда я пытаюсь вызвать другую процедуру, я получаю следующее сообщение об ошибке:Ошибка при вызове процедуры в код воспламенителя

Error Number: 2014

Commands out of sync; you can't run this command now

call get_post_info($id)

Filename: C:/Apache24/htdocs/application/models/Posts_model.php

Line Number: 18

Я думаю, что мне нужно, чтобы очистить результирующий набор .. . не уверен.

Here is my model : 

<?php class Posts_model extends CI_Model { 

     public function __construct() 
     { 
       $this->load->database(); 
     } 

    public function get_post_ids($acc_id){ 

     $query = $this->db->query('call get_post_ids('.$this->db->escape($acc_id).')'); 
     return $query->row_array(); 
    } 


    public function get_post($id) 
     { 

       $query = $this->db->query('call get_post_info($id)'); 
       return $query->row_array(); 
     } 

} 

В моем контроллере:

$post_ids = $this->posts_model->get_post_ids(1); 
     foreach ($post_ids as $id){ 

      array_push($data, $this->posts_model->get_post($id)); 
     } 
+0

Не могли бы вы отредактировать свой вопрос с помощью своей модели – user4419336

ответ

0

я фактически не запускать эти решения, но я нашел некоторую информацию, которая может быть то, что вы ищете. Прежде всего, отметьте this post о причине проблемы.

Я полагаю $query->free_result() должен решить проблему:

public function get_post_ids($acc_id){ 
    $query = $this->db->query('call get_post_ids('.$this->db->escape($acc_id).')'); 
    $result = $query->row_array(); 
    $query->free_result(); 
    return $result; 
} 

И в случае, если не работает, это this может быть хорошим решением для CodeIgniter.