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

CodeIgniter上传图片提示Unknown column 'Array' in 'field list'如何解决

问题排查结果

核心错误原因

你存入account_data表avatar字段的值是数组类型,不是字符串格式的文件名,数据库执行更新时自动把数组转为字符串Array,最终触发Unknown column 'Array' in 'field list'报错。

产生该问题的两个具体诱因:

  • 你使用的CodeIgniter版本中,$this->upload->data()方法不支持传入键名直接获取单个上传属性,无论传入什么参数都会返回包含所有上传信息的完整数组,所以$this->upload->data('file_name')拿到的是数组而非文件名字符串。
  • 你的上传配置缺少必填的upload_path参数,会导致上传逻辑异常,即使走到成功分支也无法获取到正确的文件信息。

你提供的其余自定义配置项(allowed_types、max_size、max_width等)本身没有逻辑问题。

修复方案

  1. 补全上传配置,增加上传路径配置,提前创建对应存储目录并开启可写权限:
// 在upload方法的$config配置数组中新增这行,路径替换为你实际的头像存储目录
$config['upload_path'] = './uploads/avatar/';
  1. 修改获取文件名的逻辑,先读取完整上传数据再取文件名:
// 替换掉原来的setAvatar调用代码
$uploadData = $this->upload->data();
$this->avatar_model->setAvatar(array('avatar' => $uploadData['file_name']));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:24:01