【问题标题】:Codeigniter function array always returns noCodeigniter 函数数组总是返回 no
【发布时间】:2013-11-04 23:16:53
【问题描述】:

相当愚蠢的问题。给定以下代码:

public function in_group($group)
    {
        $session = $this->CI->session->userdata('logged_in');
        $query = $this->CI->db->get_where('people_groups', array('people_id' => $session['user_id']));
        $array = array();
        foreach ($query->result() as $row)
        {
           $array = $row->group_id;

        }
        if ( $array == $group)

        {
            return 'YES';
        }
        return 'no';

}

结果总是no,实际上根据数据库应该是yes。

我要做的是检查 people_groups 表以查看当前用户是否在请求的$group 中。我研究了如何通过以下方式使用数组,但我担心我做了一些相当愚蠢的事情。

注意:$group_id 引用表中存储组 ID 的列

【问题讨论】:

    标签: php arrays database codeigniter


    【解决方案1】:

    它不是在数组中插入值,所以改变这个:

    $array = $row->group_id;
    

    $array[] = $row->group_id;
    

    【讨论】:

      【解决方案2】:

      您应该只更改查询以选择具有该用户和组 ID 的行的位置,如下所示:

      $this->CI->db->select('*');
      $this->CI->db->from('people_groups');
      $this->CI->db->where('people_id', $session['user_id']);
      $this->CI->db->where('group_id', $group);
      $query = $this->CI->db->get();
      

      然后你可以只检查是否有结果,而不是循环遍历所有结果。

      【讨论】:

        【解决方案3】:

        我发现我错过了用户指南中的一部分来实现我想要的正确代码应该是:

        public function in_group($group)
            {
                $session = $this->CI->session->userdata('logged_in');
                $query = $this->CI->db->get_where('people_groups', array('people_id' => $session['user_id']));
        
                foreach ($query->result_array() as $row)
                {
                    if ( $row['group_id'] == $group)
        
                    {
                        return 'YES';
                    }
                    return 'no';
        
                }
            }
        

        感谢回复的人,我希望这可以帮助其他人犯愚蠢的错误:)

        【讨论】:

          猜你喜欢
          • 2019-04-20
          • 2013-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-13
          • 2014-10-07
          相关资源
          最近更新 更多