【问题标题】:Codeigniter3.x calling multiple stored procedure cacheCodeigniter3.x调用多个存储过程缓存
【发布时间】:2020-02-16 18:20:03
【问题描述】:

这和 [CodeIgniter active records' problems calling multiple stored procedures

有点关系

但我没有遇到空白页;相反,当我将数据数组传递给查看时,似乎前面的数组也被拖到了视图中。

型号

  public function data1($student) {
            $year = 1;
            $sem = 1;

            $course = $this->getStudentCourseByStudentId($student);
            $sql = "CALL EVALUATION_BY_YEAR_SEM(?,?,?,?)";

            $query = $this->db->query($sql, array($course, $student, $year, $sem));

            if (!$query) {
                return  $this->db->error();
            } else {
                mysqli_next_result( $this->db->conn_id );
                return $query->result();
            }
        }

  public function data2($student) {
            $year = 1;
            $sem = 2;

            $course = $this->getStudentCourseByStudentId($student);

            $sql = "CALL EVALUATION_BY_YEAR_SEM(?,?,?,?)";

            $query = $this->db->query($sql,array($course,$student,$year,$sem));

            if (!$query) {
                return  $this->db->error();
            } else {
                mysqli_next_result( $this->db->conn_id );
                return $query->result();
            }
       }

控制器:

$data['data1']=data1 from my model(SP);
$data['data2']=data2 from my model(SP);

查看:

foreach($data2 as key => $value ) {
    echo ....;
}

这是问题所在......在视图中,我只想输出$data2,但令我惊讶的是,$data1 也在输出。

还有其他人有这个问题吗?

【问题讨论】:

    标签: continuous-integration codeigniter-3


    【解决方案1】:

    我只是解决它。

    型号

    public function data1($student){
      **$this->db->initialize();**
      $year = 1;$sem = 1;
      $course = $this->getStudentCourseByStudentId($student);
      $sql = "CALL EVALUATION_BY_YEAR_SEM(?,?,?,?)";
      $query = $this->db->query($sql,array($course,$student,$year,$sem));
      if (!$query) {
      return  $this->db->error();
      }else {
      mysqli_next_result( $this->db->conn_id );
      return $query->result();**$this->db->close();**
      }
      }
          public function data2($student){
          **$this->db->initialize();**
          $year = 1;$sem = 2;
          $course = $this->getStudentCourseByStudentId($student);
          $sql = "CALL EVALUATION_BY_YEAR_SEM(?,?,?,?)";
          $query = $this->db->query($sql,array($course,$student,$year,$sem));
          if (!$query) {
          return  $this->db->error();
          }else {
          mysqli_next_result( $this->db->conn_id );
          return $query->result();**$this->db->close();**
          }
          }
    

    控制器

    $data['data1']=data1 from my model(SP);
    **$this->db->close();**
    $data['data2']=data2 from my model(SP);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 2014-09-17
      • 2017-09-20
      • 2011-05-05
      相关资源
      最近更新 更多