Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich die erfolgreiche Ausführung einer Datenbankabfrage in CodeIgniter?

Wie überprüfe ich die erfolgreiche Ausführung einer Datenbankabfrage in CodeIgniter?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 17:49:31313Durchsuche

How to Verify Successful Database Query Execution in CodeIgniter?

Ü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn