【问题标题】: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 subjects开subjects.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 条记录?您的问题缺少信息...

标签: php mysql sql codeigniter codeigniter-3


【解决方案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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-28
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多