我更新了一些数据,无论更新成功与否,它都会恢复为失败。
这是我的控制器代码:
logncdf
我想要什么:
如果数据更新成功,则仅返回 $data['edit_cli'] = $this->clients_model->edit_cli();
if(!empty($data['edit_cli'])){
$_SESSION['cli_updated'] = '<div class="alert alert-success cli_updated">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
Client Updated Successfully
</div>';
$this->session->mark_as_flash('cli_updated');
}
else{
$_SESSION['cli_updated'] = '<div class="alert alert-danger cli_updated">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
Client Updated Failed
</div>';
$this->session->mark_as_flash('cli_updated');
}
如果无法成功更新,它将返回Client Updated Successfully
。
控制器代码中是否存在错误,可能是我的Client Updated Failed
条件存在?
这是我的if
代码:
model
答案 0 :(得分:0)
您没有从模型返回任何东西!请从您的模型返回结果。因此,请在模型代码的最后一行替换此行,然后查看会发生什么。
$result = $this->db->update('tbl_client_info', $data);
return $result;
为此,请在控制器的if条件中更改此行
if($data['edit_cli']){
//your code here
}else{
//your code here
}
因为您总是返回0或1。这就是为什么结果不为空的原因!
答案 1 :(得分:0)
您可以考虑稍微更改if
逻辑。但是正如M. Alim指出的那样,您必须从模型中返回一些信息。将模型的最后一行更改为
return $this->db->update('tbl_client_info', $data);
方法$this->db->update()
将返回TRUE或FALSE。
代码
if(!empty($data['edit_cli'])){
// successful message
} else {
// failed message
}
应更改为
if($data['edit_cli'] === TRUE){
// successful message
} else {
// failed message
}