2017-01-13 1 views
-1

Ich möchte eine E-Mail senden, wenn nur die Daten erfolgreich aktualisiert wurden. Was ist der richtige Weg, das zu tun? Ich verwende derzeit:Wie kann ich prüfen, ob Daten in CI erfolgreich aktualisiert wurden?

Wenn die Daten nicht aktualisiert werden, dann wird keine E-Mail gesendet.

+1

Ich denke, was Sie haben, sollte funktionieren. Versuchen Sie, den Spaltennamen in '$ dateupdate' zu ​​ändern, um' $ statusupdate' mit 'FALSE' zu sehen. – masterFly

Antwort

0

Zum Einfügen oder Aktualisieren in Codezeichen. Sie können es durch affected_rows() Funktion überprüfen. Sie können $this->db->affected_rows() verwenden. So können Sie zwei Optionen folgen.

1) Option-1: -

return ($this->db->affected_rows() != 1) ? false : true; 

2) Option-2: - Einfach Return,

return $this->db->affected_rows() > 0

Sie weitere Informationen zu diesem Link finden: http://henrypeteralbers.com/user_guide/libraries/database/results.html

0

Der beste Weg ist die Verwendung des Transaktionsmechanismus des Codeigniters wie folgt:

$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; 
    } 

mehr Für sehen hier https://www.codeigniter.com/user_guide/database/transactions.html

Verwandte Themen