zwzw110 发表于 2014-4-25 20:19:03

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

定义一个私有函数_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;
            }            

      }
   
    }
页: [1]
查看完整版本: 连续调用两次存储过程,出现Commands out of sync; you can't run th...