Überprüfen der erfolgreichen Abfrageausführung in Codeigniter
In CodeIgniter ist die Überprüfung, ob eine Datenbankabfrage erfolgreich ausgeführt wurde, entscheidend für die effektive Abwicklung von Datenbankvorgängen.
Controller-Logik
Die ursprüngliche Controller-Methode verarbeitet das Löschen eines Benutzers basierend auf $user_id. Der Erfolg der Abfrage wird jedoch nicht korrekt überprüft.
Eine überarbeitete Controller-Methode könnte aus Sicherheitsgründen $_POST verwenden, um die Benutzer-ID zu empfangen. Außerdem wird ein präziserer Bedingungsblock verwendet, um den Erfolg des Updates zu überprüfen:
public function softDeleteUser(): void { $userId = $this->input->post('user_id'); if ($userId) { $affectedRows = $this->Crm_user_model->update($userId, ['deleted' => true]); if ($affectedRows > 0) { add_flash_message('info', 'Soft deleted user'); } else { add_flash_message('alert', 'Failed to soft delete user'); } } else { add_flash_message('alert', 'Required data not supplied'); } }
Modellüberlegungen
Das Modell sollte für die Abfrageausführung und die Validierung der Ergebnisse verantwortlich sein . In diesem Fall prüft die update()-Methode, ob irgendwelche Zeilen von der Abfrage betroffen waren:
public function update(int $userId, array $newData): int { // Restrict user_id modification unset($newData['user_id']); $this->db->update('user_tablename', $newData, ['user_id' => $userId]); $affectedRows = $this->db->affected_rows(); if ($affectedRows) { // Optional: Log user change } return $affectedRows; }
Dieser Ansatz stellt sicher, dass der Controller feststellen kann, ob die Aktualisierung erfolgreich war, indem er die von der zurückgegebene Anzahl betroffener Zeilen überprüft Modell. Alle Syntaxfehler oder leeren Abfrageergebnisse werden sofort erkannt und stellen eine genaue Rückmeldung an den Benutzer sicher.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich die erfolgreiche Ausführung einer Datenbankabfrage in CodeIgniter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!