首頁  >  文章  >  後端開發  >  如何在 CodeIgniter 中驗證資料庫查詢執行是否成功?

如何在 CodeIgniter 中驗證資料庫查詢執行是否成功?

Patricia Arquette
Patricia Arquette原創
2024-10-30 17:49:31314瀏覽

How to Verify Successful Database Query Execution in CodeIgniter?

在Codeigniter 中驗證查詢執行是否成功

在CodeIgniter 中,驗證資料庫查詢是否已成功執行對於有效處理資料庫作業至關重要。

控制器邏輯

原始控制器方法根據 $user_id 處理使用者的刪除。但是,它無法正確驗證查詢是否成功。

出於安全原因,修訂後的控制器方法可以使用 $_POST 來接收使用者 ID。它也採用更簡潔的條件區塊來檢查更新是否成功:

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

模型注意事項

模型應該負責查詢執行和驗證結果。在這種情況下, update() 方法檢查是否有任何行受到查詢的影響:

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

此方法可確保控制器可以透過驗證查詢傳回的受影響行數來決定更新是否成功。模型。任何語法錯誤或空查詢結果都會顯而易見,確保向使用者提供準確的回饋。

以上是如何在 CodeIgniter 中驗證資料庫查詢執行是否成功?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn