Heim >Backend-Entwicklung >PHP-Tutorial >So ermitteln Sie den Abfrageerfolg in CodeIgniter: Warum gibt meine Update-Abfrage nichts zurück?
Abfrageerfolg in Codeigniter erkennen
Beim Ausführen von Datenbankabfragen ist es entscheidend, festzustellen, ob sie erfolgreich sind oder nicht. In Ihrem Fall gibt die Aktualisierungsabfrage innerhalb der Methode zum Löschen des Controllers nichts zurück, selbst nach Änderungen an der Datenbank. Um dieses Problem zu beheben, befolgen Sie diese Richtlinien:
1. Erweiterte Controller-Funktion (Soft-Delete)
Vermeiden Sie aus Sicherheitsgründen die Weitergabe der Benutzer-ID über die URL. Verwenden Sie stattdessen $_POST, um Daten während des Datenschreibens zu übertragen. Die überarbeitete Controller-Funktion sollte so aussehen:
public function softDeleteUser(): void { $userId = $this->input->post('user_id'); if (!$userId) { add_flash_message('alert', 'Required data not supplied'); } elseif (!$this->Crm_user_model->update($userId, ['deleted' => true])) { add_flash_message('alert', 'Failed to soft delete user'); } else { add_flash_message('info', 'Soft deleted user'); } }
2. Erweiterte Modellmethode
Führen Sie Abfragen ausschließlich im Modell durch. Überprüfen Sie den Abfrageprozess an mehreren Stellen, da eine Abfrage zwar keine Syntaxfehler aufweisen, aber dennoch keine Änderungen an der Datenbank vornehmen kann.
public function update(int $userId, array $newData): int { // Prevent modifying the user_id column unset($newData['user_id']); if ($this->db->update('user_tablename', $newData, ['user_id' => $userId])) { $affectedRows = $this->db->affected_rows(); if ($affectedRows) { // Log successful changes if applicable } return $affectedRows; } return 0; }
Durch die Befolgung dieser Richtlinien können Sie den Erfolg Ihrer Datenbankabfragen effektiv bestimmen und abwickeln sowohl erfolgreiche als auch erfolglose Szenarien.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie den Abfrageerfolg in CodeIgniter: Warum gibt meine Update-Abfrage nichts zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!