2016-09-06 71 views
0

我在应用程序中遇到问题。首先让我告诉下面插入后无法获得行值

$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']是空

我想知道这是为什么。如果不清楚,请询问。

回答

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"]; 

这是一个比较简单的解决方案,你的努力程度。如果插入方法成功,那么此查询将获得您的行数据。