首页  >  文章  >  后端开发  >  如何在 CodeIgniter 中验证数据库查询执行是否成功?

如何在 CodeIgniter 中验证数据库查询执行是否成功?

Patricia Arquette
Patricia Arquette原创
2024-10-30 17:49:31313浏览

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