在代码点火器中调用过程时出错

时间:2015-10-19 01:09:22

标签: codeigniter stored-procedures

我在代码点火器中调用一个过程,当我尝试调用另一个过程时,我收到以下错误:

  

错误号码:2014

     

命令不同步;你现在不能运行这个命令

     

调用get_post_info($ id)

     

文件名:C:/Apache24/htdocs/application/models/Posts_model.php

     

行号:18

我想我需要清除结果集......不确定。

这是我的模特:

<?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));
}

1 个答案:

答案 0 :(得分: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的一个很好的解决方案。