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

Patricia Arquette
Freigeben: 2024-10-30 17:49:31
Original
312 Leute haben es durchsucht

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');
    }
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!