如果只是数据成功更新,我想发送电子邮件。这样做的正确方法是什么。我目前使用:
$statusupdate = $this->ModelComplaint->update($idcomplaint, $dataupdate);
if($statusupdate){
//email code should be here
}
如果数据无法更新,则不会发送电子邮件。
答案 0 :(得分:0)
用于codeigniter中的插入或更新。
您可以通过affected_rows()
功能进行检查。
您可以使用$this->db->affected_rows()
。
所以你可以遵循两个选择。
1)选项-1: -
return ($this->db->affected_rows() != 1) ? false : true;
2)选项-2: - 简单地返回,
return $this->db->affected_rows() > 0
您可以在此链接中找到更多相关信息:http://henrypeteralbers.com/user_guide/libraries/database/results.html
答案 1 :(得分:0)
最好的方法是使用codeigniter的事务机制,如下所示:
$this->db->trans_begin();//begins your transaction
$data =<data> //data for upadating
$this->db->where('id', $id);//where condition
$this->db->update('table_name',$data);//update query
if ($this->db->trans_status() === FALSE)//checks transaction status
{
$this->db->trans_rollback();//if update fails rollback and return false
return FALSE;
}
else
{
$this->db->trans_commit();//if success commit transaction and returns true
//Send Mail here
return TRUE;
}
有关详情,请参阅此处https://www.codeigniter.com/user_guide/database/transactions.html