代码之家  ›  专栏  ›  技术社区  ›  user3389518

Codeigniter不返回数据库中存在的一些记录

  •  0
  • user3389518  · 技术社区  · 11 年前

    我犯了一个奇怪的错误。 我在数据库中有用户表。 其中我通过如下模块函数执行查询。

    function getUserInfo($id)
     {      
        $query = $this->db->from('user')
                      ->where('id', $id)
                      ->get();
        return $query->result();        
    }
    

    此函数不会返回数据库中存在的一些用户。 $id 存在。 若我在mysql工作台中执行相同的查询,我可以得到它们。 这只适用于我通过应用程序创建的一些用户。 此函数返回我在创建表时直接导入的其他用户的数据。 这是一个完全奇怪的问题。没有错误消息。它只适用于某些用户,而不适用于其他用户。数据库连接也没有问题。你能告诉我这背后有什么原因吗? 事先非常感谢。

    2 回复  |  直到 11 年前
        1
  •  1
  •   gen_Eric    11 年前
    function getUserInfo($id)
     {      
        $query = $this->db->where('id', $id)
                          ->get('user');
    
        echo "empty results ! query was :".$this->db->last_query()."<br/>\n";
    
        return $query->result();        
    }
    

    添加此行并检查查询。肯定是有问题 $id 您传递给用户或其他导致静默错误的东西。

    让我知道你从中得到了什么 last_query();

        2
  •  0
  •   user3389518    11 年前

    事实上我找到了答案。有时大多数奇怪的错误背后都有愚蠢的错误。我并没有检查当前的数据库连接,因为我在执行时正在处理parallel数据库,所以它会切换到其他数据库。我现在修好了。很抱歉,无法想象这可能是问题背后的原因之一。谢谢你的回复。