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

无法按chat_from ID筛选数据,请求技术排查与解决方法

解决你的CodeIgniter数据库查询问题

嘿,这个问题挺典型的,我马上帮你找出问题所在:

问题根源

你的代码有两个关键错误导致返回了全部数据:

  • 你错误地把$chatfrom传给了select()方法的第二个参数,但CodeIgniter的select()第二个参数是布尔值(用来控制是否给字段名自动添加反引号),和查询条件完全不相关。
  • 最核心的问题:你没有添加WHERE条件来过滤chat_from等于指定ID的数据,数据库自然会返回表中所有的聊天记录。

修正后的代码

$chatfrom = $this->input->post('chat_from');
// 先判断chat_from是否有效,避免空值导致误查全部数据
if (!empty($chatfrom)) {
    $this->db->select('chat_id, chat_from, message, created_date');
    // 添加WHERE条件,精准过滤指定chat_from的数据
    $this->db->where('chat_from', $chatfrom);
    $userchatData = $this->db->get($this->db->dbprefix('usres_chat'))->result_array();
} else {
    // 处理chat_from为空的情况,比如返回空数组或者提示参数错误
    $userchatData = [];
}

额外小提示

  • 留意你的表名拼写:usres_chat是不是应该是users_chat?拼写错误可能会引发其他意外问题,记得检查一下。
  • 从前端POST过来的数据最好做一下基础校验(比如判断是否为数字类型),既能防止无效查询,也能提升安全性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:20:59