我试图从数据库中获取数据,并使用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
为null,则返回数据库中的所有行。我也尝试了
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
答案 0 :(得分:0)
试试这个:
...
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));
}
...
答案 1 :(得分:0)
注意:
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();
}
答案 2 :(得分:0)
这里,如果$ sec_token和$ email_id为空或&#34; 0&#34;然后查询你将获取所有记录。它将给出所有行,因为当&#34;其中条件不满足时,它获取所有记录&#34;尝试它。还要检查你的会话是否开始,你的值是否设置正确。