Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengesahkan Pelaksanaan Pertanyaan Pangkalan Data yang Berjaya dalam CodeIgniter?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-30 17:49:31313semak imbas

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');
    }
}

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!

Kenyataan:
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