continuous-integration - Codeigniter3.x调用多个存储过程缓存
问题描述
这与 [ 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 也在输出。
还有其他人有这个问题吗?
解决方案
我只是解决它。
模型
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);
推荐阅读
- c - 将指针传递给链表的第一个元素时是否需要临时变量?
- c# - System.Management.Automation 与 .NET Core 3.1 不兼容
- unit-testing - 如何测试前端和 API?
- angular - 我的标记不会显示在 Angular 中的 Google 地图上
- elixir - 如何将字符串日期转换为 DateTime 格式
- javascript - 带有断线的 insertAdjacentHTML Laravel 组件
- macos - 找不到在 80 端口上运行的 docker 容器,尝试了所有常规操作
- javascript - 如何在视图中仅循环一次对象(单个 *ngFor)?
- geojson - 如何使用 geojson 和 plotly dash 创建等值线图
- r - R中的条件处理程序