Echo mysql查询

时间:2013-05-10 09:37:37

标签: php mysql codeigniter codeigniter-2

我在模型中使用以下函数:

function login($email,$password)
{
    $this->db->where("email",$email);
    $this->db->where("password",$password);

    $query=$this->db->get("users");

    if($query->num_rows()>0)
    {
        foreach($query->result() as $rows)
        {
            //add all data to session
            $newdata = array(
                'user_id'  => $rows->id,
                'user_name'  => $rows->username,
                'user_email'    => $rows->email,
                'logged_in'  => TRUE,
            );
        }
        $this->session->set_userdata($newdata);
        return true;
    } else { 

    }
    return false;
}

当我输入细节时,它不会失败。没有db错误,我已打开调试。

问题:是否可以回显正在发送的查询,以便查看其尝试的内容以及失败的原因。

3 个答案:

答案 0 :(得分:2)

是..

试试这个

 echo $this->db->last_query();
在你进行查询之后

....

这会打印上次发出的查询..

所以,如果你想获得最后一个查询,请执行

 $query=$this->db->get("users");
 echo $this->db->last_query();

答案 1 :(得分:2)

这样做:

echo $this->db->last_query();

查看查询。

答案 2 :(得分:0)

使用此

print_r($query);

之后

$query=$this->db->get("users");