Codeigniter3.x вызывает кеш нескольких хранимых процедур - PullRequest
0 голосов
/ 20 октября 2019

Это в некоторой степени связано с [ проблемами активных записей CodeIgniter, вызывающими несколько хранимых процедур

, но у меня нет пустой страницы;вместо этого, когда я передаю свой массив данных для просмотра, кажется, что предыдущий массив также перетаскивается в представление.

модель

  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 также выводится.

Кто-нибудь еще имеет эту проблему?

1 Ответ

1 голос
/ 20 октября 2019

Я ПРОСТО РЕШЕН.

Модель

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);
...