【问题标题】:Returning all rows from database in CodeIgniter在 CodeIgniter 中返回数据库中的所有行
【发布时间】:2014-04-13 04:54:12
【问题描述】:

我正在尝试从数据库中获取数据,并使用 get_where 比较某些字段,但每次它都会返回数据,即使条件不满足......

我的代码是:

function check_sec_token()
{
    $sec_token=$this->session->userdata('sec_token');
    $email_id=$this->session->userdata('email_id');
    $query=$this->db->get_where($this->_registration,array('sec_token'=>$sec_token,'email_id'=>$email_id));
    $rows=$query->num_rows();
    return $query->result();
    if($rows<1)
    {
        return false;
    }
    else
    {
        return true;
    }
}

如果$sec_token$email_id 为空,则返回数据库中的所有行。我也尝试过

function check_sec_token()
{
    $sec_token=$this->session->userdata('sec_token');
    $email_id=$this->session->userdata('email_id');
    $query=$this->db->get_where($this->_registration,array('sec_token'=>$sec_token,'email_id'=>$email_id));
    $rows=$query->num_rows();
    return $this->db->last_query();
    if($rows<1)
    {
        return false;
    }
    else
    {
        return true;
    }
}

它正在显示查询

Select * from user_reg where sec_token=0 and email_id=0

【问题讨论】:

  • 所以你问的是条件不工作....对吗??

标签: php codeigniter


【解决方案1】:

试试这个:

    ...

    if ($sec_token == NULL && $email_id == NULL)
    {
        $query=$this->db->get($this->_registration);
    }
    else
    {
        $query=$this->db->get_where($this->_registration,array('sec_token'=>$sec_token,'email_id'=>$email_id));
    }

    ...

【讨论】:

  • 但亲爱的我的问题是......如果条件不成立,它不应该返回所有记录......如果会话变量具有空值,那么为什么要添加 0..
【解决方案2】:

注意:

return $query->result();

这段代码停止运行您的其余代码!并且不考虑您的行数条件!

你可以这样做:

$query=$this->db->get_where($this->_registration,array('sec_token'=>$sec_token,'email_id'=>$email_id));
$rows=$query->num_rows();
if($rows<1)
{
    return false;
}
else
{
    return $query->result();
}

【讨论】:

  • 是的,我知道..我只是用它来测试......它是否显示所有结果......但实际上我需要行数......如果它不应该返回任何记录条件不满足.....即使条件不成立,它也会返回所有记录
【解决方案3】:

如果 $sec_token 和 $email_id 为空或“0”,则查询您将获取所有记录。它会给出所有行,因为当“条件不满足时,它会获取所有记录”尝试它。同时检查您的会话是开始与否,您的价值观是否设置正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2013-10-17
    • 2019-10-11
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    相关资源
    最近更新 更多