查询结果错误

Posted

技术标签:

【中文标题】查询结果错误【英文标题】:Query result is Wrong 【发布时间】:2018-08-27 20:32:08 【问题描述】:

下面的查询在我的 codeigniter 项目中使用并且只给了我一条记录,但是当我在数据库中调用这个查询并给我 3 条记录时。

$query = "SELECT `teacher_subjects`.*, `subjects`.* FROM `teacher_subjects` JOIN `subjects` ON `subjects`.`id` = `teacher_subjects`.`subject_id` WHERE `teacher_subjects`.`session_id` = 11 AND `teacher_subjects`.`class_section_id` = 5"; 

$query = $this->db->query($query);

【问题讨论】:

您可能没有循环浏览所有记录? 所有行都符合你的条件,所以这就是为什么返回 3 行,如果你想要一行意味着 "SELECT teacher_subjects.*, subjects.* FROM teacher_subjects JOIN subjectssubjects.id = teacher_subjects.subject_id 其中teacher_subjects.session_id = 11 和teacher_subjects.class_section_id = 5" 分组teacher_subjects38@38@@987654,@987654 .class_section_id; 移除 $this->db->query($query);行并替换为 return $query->result();它工作正常..问题解决。 你怎么知道它只返回 1 条记录?您的问题缺少信息... 【参考方案1】:

试试这个,

$query_statement = "SELECT `teacher_subjects`.*, `subjects`.* FROM `teacher_subjects` JOIN `subjects` ON `subjects`.`id` = `teacher_subjects`.`subject_id` WHERE `teacher_subjects`.`session_id` = 11 AND `teacher_subjects`.`class_section_id` = 5"; 

$query = $this->db->query($query_statement);
return ($query->num_rows() > 0) ? $query->result() : false;

【讨论】:

以上是关于查询结果错误的主要内容,如果未能解决你的问题,请参考以下文章

查询给出错误的结果。知道为啥会这样吗?

访问:使用子查询中的计数更新查询 - 错误或所有结果

Laravel 4 - Union + orederBy 结果错误查询

更新语句给子查询错误的结果[重复]

在 sql 查询中使用 bigint 时得到错误的结果

查询中的日期比较:逻辑正确但结果错误