php - 插入后无法获取行值

标签 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'] 为 null

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

最佳答案

我建议您更好的选择来获取行值:

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

这是您尝试过的更简单的解决方案。如果插入方法成功,那么此查询将获取您的行数据。

关于php - 插入后无法获取行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39342987/

相关文章:

php - .htaccess 中的语言参数未正确映射

php - 使用 xDebug 调试 SOAP 服务

mysql - Rails 临时表

php - 无法使用 codeigniter 将值插入数据库

javascript - angularjs 中未定义的 URL ID

PHP 显示无?

php - 基于另一个下拉菜单的下拉菜单项

mysql - 向 MySQL 中的现有用户授予权限

c# - Entity Framework 在 where 子句上添加了一个额外的条件

php - 如何在两个不同的表中同时插入值