Database 未加载codeigniter/数据库页面

Database 未加载codeigniter/数据库页面,database,codeigniter,loading,pyrocms,Database,Codeigniter,Loading,Pyrocms,我有一个数据库请求的问题:网页根本没有加载 public function get_mylist($user_id){ $this->db->select('*'); $this->db->from($this->_table); $this->db->where('my', '1'); $this->db->where('user1', $user_id);

我有一个数据库请求的问题:网页根本没有加载

    public function get_mylist($user_id){
        $this->db->select('*');
        $this->db->from($this->_table);
        $this->db->where('my', '1');
        $this->db->where('user1', $user_id);
        $this->db->or_where('user2', $user_id);
        $query = $this->db->get()->result_array();
        if($query!=NULL)
        {
            foreach($query as $row)
            {
            echo $row['user1'];
                if($row['user2'] != $user_id)
                {
                    $data[] = $row['user2'];
                }
                else if($row['user1'] != $user_id)
                {
                    $data[] = $row['user1'];
                }
            }
            return $data;
        }
        else return 0;
}   
你知道吗

编辑:在我的日志中有一个致命错误:允许的内存大小字节已用尽


<>我的循环一定是错误的:/< /p> 你需要考虑你的DB表中有多少行,每行有多少字节。

表中是否有足够的数据达到PHP配置的内存限制

另外,检查SQL构造中的逻辑

具体而言:

 $this->db->where('my', '1');
 $this->db->where('user1', $user_id);
 $this->db->or_where('user2', $user_id);
,其中
条款被解释为:

WHERE (`my` = 1 AND `user1` = $user_id) OR (`user2` = $user_id)
这是您想要的,还是您需要:

WHERE `my` = 1 AND (`user1` = $user_id OR `user2` = $user_id)
在MySQL中,
优先于

最后,作为测试,取出解析
$data
数组的代码,返回
$row
数组,并使用
print\r($row)
将其打印出来,并确保您的查询正在提取您期望的数据

希望这些想法能帮助您诊断问题。祝你好运

注意:要在SQL中实现替代逻辑,可以执行以下操作:

 $this->db->where('my', '1');
 $this->db->where("(`user1` = $user_id OR `user2` = $user_id)");
请注意紧靠仪表板内侧的开启/关闭括号
双引号。

我的日志中有一个错误:致命错误:允许的内存大小字节已用尽。我的循环中一定有错误,如果有人能看到的话,谢谢你的快速回复。我的sql表有3列2行,所以我不认为问题来自内存。所以我只有一行返回用户1和用户2,所以我不明白是怎么回事。我如何实现my=1和(user1=$user\u id或user2=$user\u id)的位置?我应该把where('my','1')放在其他条件之后吗?经过几次测试,我发现问题来自“return”。我可以使用var_dump(data),它显示一个数组,但我不能返回“oO”。在您的代码段中,
$data
是一个数组,而不是一个对象。但是,如果您喜欢,可以定义一个对象。内存错误消息可能是由于尝试将数组用作对象(?)非常感谢。我确实尝试使用一个对象,而它是一个数组。