You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter控制器中如何拆分数据库内implode存储的字符串数据

错误原因
  • 你在consultation_result方法中直接调用explode时传入的$CF_user变量未提前赋值,你从数据库查询到的行数据是存储在$data['consultation_detail']对象中,需要先从该对象取出CF_user字段的字符串值再做拆分。
  • 补充说明:你add_detail方法里redirect的第二个参数传入$data不会生效,CodeIgniter框架的redirect是页面跳转逻辑,无法直接携带自定义数组到目标方法,你在consultation_result中直接查询数据库取最新数据的逻辑是合理的。
修正后的代码
public function consultation_result()
{
    // 读取consultation_detail表的最新行数据
    $data['consultation_detail'] = $this->db->get('consultation_detail')->row();
    // 先取CF_user字段值再拆分为数组
    $CF_user = explode(',', $data['consultation_detail']->CF_user);
    // 如果需要把拆分后的数组传递到视图,可存入$data数组
    $data['CF_user_arr'] = $CF_user;

    // 后续加载视图逻辑示例:$this->load->view('consultation_result', $data);
}
优化建议

为了避免数据库中CF_user字段为空时explode报错,可以增加空值判断:

$CF_user = !empty($data['consultation_detail']->CF_user) ? explode(',', $data['consultation_detail']->CF_user) : [];

内容的提问来源于stack exchange,提问作者Peb Mpeeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 00:33:02