CodeIgniter技术咨询:如何在Flashdata中显示数据库注册ID
解决CodeIgniter中获取插入数据ID并显示到Flash消息的问题
嘿,这事儿很简单!在CodeIgniter里,当你完成数据插入操作后,框架已经帮你准备好了获取自增ID的方法,直接用就行。
具体步骤:
- 先执行数据插入操作:假设你已经把要注册的数据整理成了数组,先把它插入到对应的数据库表中
- 获取刚插入记录的ID:用
$this->db->insert_id()就能拿到这个自增ID - 把ID传入Flash消息:就是你原来的flashdata代码,把获取到的ID赋值给
$id变量就行
完整代码示例:
// 假设这是你要插入的数据数组,根据你的实际字段调整 $user_data = [ 'username' => $this->input->post('username'), 'email' => $this->input->post('email'), // 其他需要存储的字段... ]; // 执行插入操作,替换成你的实际表名 $this->db->insert('users', $user_data); // 获取刚插入记录的自增ID $id = $this->db->insert_id(); // 设置Flash消息,现在$id已经有正确的值了 $this->session->set_flashdata('message', '<div class="alert alert-primary" role="alert"> Congratulation! Your data has been registered with No Registration:'. $id .' </div>'); // 重定向到User控制器 redirect('User');
注意事项:
- 确保你的数据库表的ID字段是自增主键,不然
insert_id()拿不到正确的值 - 如果你用的是CodeIgniter 4,方法名是驼峰式的
$this->db->insertID(),用法逻辑完全一致
这样你的Flash消息就会准确显示类似“Congratulation! Your data has been registered with No Registration: 1”的内容啦!
内容的提问来源于stack exchange,提问作者Deni
相关产品推荐
相关产品推荐

