Codeigniter返回变量并检查它';s值


Codeigniter return variable and check it's value

只想将一个变量从模型返回到控制器,然后检查它的值是0还是1,但它不起作用。我使用Codeigniter。你能检查一下我的代码并帮我找出错误吗。

这是我的型号:

public function did_get_status($id){        
        $this->db->select('*');
        $this->db->from('members'); 
        $this->db->where('id',$id);     
        $query = $this->db->get();
        if ($query->num_rows() == 1) {  
    $row = $query->row();
    return array(
    'member_status' => $row->member_status, 
    );
        }
        else{
         return false;
        }   
   } 

这是我的控制器:

$status_info = $this->model_users->did_get_status($id);
$status = $status_info['member_status'];        
                if ($status === 0) {
                    //
                } 
                else if ($status === 1) {
                    //
                }                   
            }

我认为首先通过打印从函数中获得的值来进行检查。这是我的控制器

$status_info = $this->model_users->did_get_status($id);
    var_dump($status_info);

如果将其打印为数组,则将值与该类型的匹配

$status = $status_info['member_status'];        
            if ($status == 0) {
                //
            } 
            else if ($status == 1) {
                //
            }                   
        }

用"=="替换"===",因为返回类型可能不是某些类型。像数组一样,返回1,0作为字符串和1,o在这里是初始值。

需要考虑的明显要点:

数据库中是否只有一个与此ID匹配?

你有没有试过用二重相等而不是三重相等?

这一切都是可以调试的。

$status = $status_info['member_status'];

您不能执行此操作,因为函数可以返回false。你不做错误处理。

if ($status === 0)

它可能是不同的数据类型,可能是字符串。你做严格的比较。

使用==。或者,更好的是,在模型中修复它:(int) value