Rumah > Artikel > pembangunan bahagian belakang > Cara Menentukan Kejayaan Pertanyaan dalam CodeIgniter: Mengapa Pertanyaan Kemas Kini Saya Tidak Mengembalikan Apa-apa?
Mengesan Kejayaan Pertanyaan dalam Codeigniter
Apabila melaksanakan pertanyaan pangkalan data, adalah penting untuk menentukan sama ada ia berjaya atau tidak. Dalam kes anda, pertanyaan kemas kini dalam kaedah pengawal padam tidak mengembalikan apa-apa, walaupun selepas perubahan pada pangkalan data. Untuk menyelesaikan isu ini, ikut garis panduan ini:
1. Fungsi Pengawal yang Dipertingkatkan (Padam Lembut)
Elakkan menghantar ID pengguna melalui URL atas sebab keselamatan. Sebaliknya, gunakan $_POST untuk memindahkan data semasa penulisan data. Fungsi pengawal yang disemak seharusnya kelihatan seperti ini:
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. Kaedah Model Dipertingkat
Lakukan pertanyaan dalam model sahaja. Semak proses pertanyaan pada berbilang titik kerana pertanyaan tidak boleh mempunyai ralat sintaks tetapi masih tidak membuat perubahan pada pangkalan data.
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; }
Dengan mengikuti garis panduan ini, anda boleh menentukan kejayaan pertanyaan pangkalan data anda dan mengendalikan dengan berkesan kedua-dua senario berjaya dan tidak berjaya sewajarnya.
Atas ialah kandungan terperinci Cara Menentukan Kejayaan Pertanyaan dalam CodeIgniter: Mengapa Pertanyaan Kemas Kini Saya Tidak Mengembalikan Apa-apa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!