用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2123|回复: 0
收起左侧

连续调用两次存储过程,出现Commands out of sync; you can't run th...

[复制链接]
发表于 2014-4-25 20:19:03 | 显示全部楼层 |阅读模式
定义一个私有函数_read_article,用来调用一个存储过程,这个存储过程就是一条select语句, 从表中读取数据

调用一次的话,正常;但是如果连续调用两次的话,就会出错, 不知道怎么解决
如:
            $this->_read_article($data);
            $this->_read_article($data);
就会报:
                A Database Error Occurred                Error Number: 2014
Commands out of sync; you can't run this command now
call edit_article_proc_read_aritcle(2)
Filename: G:\SS_dreamweaver\page\system\database\DB_driver.php
Line Number: 334
       


private function _read_article(&$data)
    {
        $sql="call edit_article_proc_read_aritcle(?)";
        $this->db->trans_start();
        $row=$this->db->query($sql,array($this->doc_id));
        $this->db->trans_complete();
        if (empty($row))
        {
            //查询失败            
        }
        else
        {
            switch ($row->num_rows())
            {
                case 0:
                    //没有查询到
                    break;
                case 1:
                    $result=$row->row_array();
                    $data['article_title']=$result['doc_title'];
                    $data['article_summary']=$result['doc_summary'];
                    $data['article_content']=$result['doc_content'];
                    $row->free_result();
                    break;
                case 2:
                    //多于一个记录
                    break;
            }            

        }
   
    }

本版积分规则