Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengesahkan Pelaksanaan Pertanyaan Pangkalan Data yang Berjaya dalam CodeIgniter?
Mengesahkan Perlaksanaan Pertanyaan yang Berjaya dalam Codeigniter
Dalam CodeIgniter, mengesahkan sama ada pertanyaan pangkalan data telah dilaksanakan dengan jayanya adalah penting untuk mengendalikan operasi pangkalan data dengan berkesan.
Logik Pengawal
Kaedah pengawal asal mengendalikan pemadaman pengguna berdasarkan $user_id. Walau bagaimanapun, ia tidak mengesahkan kejayaan pertanyaan dengan betul.
Kaedah pengawal yang disemak boleh menggunakan $_POST untuk menerima ID pengguna atas sebab keselamatan. Ia juga menggunakan blok syarat yang lebih ringkas untuk menyemak kejayaan kemas kini:
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'); } }
Pertimbangan Model
Model harus bertanggungjawab untuk pelaksanaan pertanyaan dan mengesahkan keputusan . Dalam kes ini, kaedah kemas kini() menyemak sama ada mana-mana baris dipengaruhi oleh pertanyaan:
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; }
Pendekatan ini memastikan pengawal boleh menentukan sama ada kemas kini berjaya dengan mengesahkan kiraan baris terjejas yang dikembalikan oleh model. Sebarang ralat sintaks atau hasil pertanyaan kosong akan mudah dilihat, memastikan maklum balas yang tepat kepada pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Pelaksanaan Pertanyaan Pangkalan Data yang Berjaya dalam CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!