插入后无法获取行值

时间:2016-09-06 07:26:31

标签: php mysql codeigniter

我在申请中遇到问题。首先让我展示下面的代码

$data = array(
    'prjc_stno' => $studentData['Student_id'],
    'prjc_roll_num' => $studentData['roll_num'],
    'prjc_program_id' => $post_data['program_id'],
    'prjc_year' => $year, 
);
$this->db->insert('i_m_studts', $data);
$last_insert_id = $this->db->insert_id();

$data = array(
    'prjc_stdnt_id' => $last_insert_id,
    'prjc_course_id' => $post_data['course_id'],
    'prjc_cousem_id' => $crs_semister,
    'prjc_event' => $post_data['event'],
    'prjc_event_year' => $year,
    'prjc_stu_crs_random_id' => $studentData['random_id'],
    'prjc_no_scan' => 1
);
$this->db->insert('i_studt_course', $data);
$inserted_id = $this->db->insert_id();    

$this->db->trans_start();
$this->db->where('prjc_stdnt_id', $inserted_id);
$this->db->where('prjc_course_id', $post_data['course_id']);
$this->db->where('prjc_event', $post_data['event']);
$this->db->where('prjc_event_year', $year);
$query2 = $this->db->get('i_studt_course');

$student_course = $query2->result_array();
  --> $prjc_stu_cou_id = $student_course[0]['prjc_stu_cou_id']; **(Line Number: 420)**

$this->db->where('prjc_stu_crs_id', $prjc_stu_cou_id);
$query1 = $this->db->get('i_m_scnbb');
$result = $query1->result_array();

现在什么时候到达 - >它会创建一个错误,指出$student_course[0]['prjc_stu_cou_id']为空

我想知道原因。如果不清楚,请询问。

1 个答案:

答案 0 :(得分:0)

我建议你更好地选择行值:

$student_course = $this->db->select("*")
        ->from("i_studt_course")
        ->where("id", $inserted_id)
        ->limit(1)
        ->get()
        ->row_array();

然后您可以通过以下方式访问您的行:

$prjc_stu_cou_id = $student_course["prjc_stu_cou_id"];

这是一个更简单的解决方案,您尝试过。如果insert方法成功,则此查询将获取行数据。