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

时间:2014-03-06 18:17:12

标签: mysql database codeigniter select where

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

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

此函数不会返回数据库中存在的某些用户。 $id存在。 如果我在mysql workbench中执行相同的查询,我可以得到它们。 这只发生在我通过应用程序创建的一些用户身上。 此函数返回我在创建表时直接导入的其他用户的数据。 这是完全奇怪的问题。没有错误消息。它只适用于某些用户而非其他用户。数据库连接也没有问题。你能否建议这背后有什么理由? 非常感谢你提前。

2 个答案:

答案 0 :(得分:1)

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();

得到什么

答案 1 :(得分:0)

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