Wie kann ich feststellen, wann ein MySQL-UPDATE im Vergleich zu tatsächlich aktualisierten Daten erfolgreich war?
Wie kann ich erkennen, Wann ein MySQL UPDATE erfolgreich war, gegen die tatsächlich aktualisierten Daten?
Beispiel:
TABLE
id city_name
1 Union
2 Marthasville
Wenn ich Folgendes ausführen:
$data = array('city_name', 'Marthasville');
//update record 2 from Marthasville to the same thing, Marthasville.
$this->db->where('id', 2);
$this->db->update('table', $data);
if($this->db->affected_rows() > 0)
{
//I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
return TRUE;
}else{
return FALSE;
}
Diese zurück TRUE
jedes mal, wenn die UPDATE-Anweisung erfolgreich ist, aber den Wert FALSE, wenn keine Zeilen wurden tatsächlich aktualisiert.
Muss ich es zurück TRUE
jedes mal, wenn die UPDATE-Anweisung wurde erfolgreich ausgeführt, auch wenn es nicht wirklich ändern, werden alle Datensätze.
InformationsquelleAutor der Frage zechdc | 2011-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf mysql_affected_rows()
Sollte es Ihnen sagen, wenn etwas tatsächlich aktualisiert, im Gegensatz zu nichts erfolgreich aktualisiert wurde, was zu einer Rückkehr des wahren.
php.net sagt:
Könnten Sie Folgendes verwenden, um die gewünschten Ergebnisse:
InformationsquelleAutor der Antwort 472084
Dann würden Sie mysql_query:
Einfach so:
InformationsquelleAutor der Antwort lnguyen55