Bagaimana untuk Mengesahkan Pelaksanaan Pertanyaan Pangkalan Data yang Berjaya dalam CodeIgniter?

Patricia Arquette
Lepaskan: 2024-10-30 17:49:31
asal
313 orang telah melayarinya

How to Verify Successful Database Query Execution in 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');
    }
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!