codeigniter - this-> db-> get()返回空结果

时间:2012-07-25 09:36:32

标签: codeigniter

我有关于codeigniters db-> get()的问题。我有功能sql查询,当我“手动”传递给db时,我得到结果,但是当我使用codeigniter时,我得到空结果。几乎相同的查询,但与喜欢而不是在哪里工作。

SQL是:

SELECT se.Id, se.Name, se.Alias, sy.Name as System, os.Name as Os, ac.Name as Access, se.Description
FROM cdl_server se
INNER JOIN cdl_system sy on sy.Id = se.System
INNER JOIN cdl_os os on os.Id = se.Os
INNER JOIN cdl_access ac on ac.Id = se.Access
WHERE se.Id = 1

代码如下所示:

    $this->db->select(
            'se.Id, se.Name, se.Alias, ' . 
            'sy.Name as System, os.Name as Os, ac.Name as Access, ' . 
            'se.Description', 
            FALSE);
    $this->db->from('cdl_server se');
    $this->db->join('cdl_system sy', 'sy.Id = se.System' ,'inner', FALSE);
    $this->db->join('cdl_os os', 'os.Id = se.Os' ,'inner', FALSE);
    $this->db->join('cdl_access ac', 'ac.Id = se.Access' ,'inner', FALSE);
    $this->db->where('se.Id', $id, FALSE);
    $this->db->get();

编辑: 我用它像:         $ query = $ this-> db-> get();         return $ query-> result();

当我在将sql查询发送到数据库之前对其进行var_dump时,我得到了这个:

string(264) "SELECT se.Id, se.Name, se.Alias, sy.Name as System, os.Name as Os, ac.Name as Access, se.Description FROM cdl_server se INNER JOIN cdl_system sy ON sy.Id = se.System INNER JOIN cdl_os os ON os.Id = se.Os INNER JOIN cdl_access ac ON ac.Id = se.Access WHERE se.Id =1" 

但是结果总是空的,即使我复制上面的内容并尝试直接询问db,我得到了我需要的结果。

有谁知道可能导致它的原因?

1 个答案:

答案 0 :(得分:4)

如果你想获得结果,你必须使用row()或result()函数。

$this->db->get()->result();