ホームページ  >  記事  >  バックエンド開発  >  CodeIgniter でデータベース クエリの実行が成功したことを確認する方法

CodeIgniter でデータベース クエリの実行が成功したことを確認する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 17:49:31374ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。