php - how to dynamically add conditions to the query based on what inputs you get from the client/form?

i have input data for example : sex = male, i can query it like this:

$sex = $data['sex'];
            $query = $this->db->rawQuery("SELECT * FROM tbl_emp_information WHERE sex = $sex");
            echo json_encode($query);

but if i input sex = male and civil_status = single this query works:

 $sex = $data['sex'];
            $civil_status = $data['civil_status'];
            $query = $this->db->rawQuery("SELECT * FROM tbl_emp_information WHERE sex = $sex AND
            civil_status = $civil_status");
            echo json_encode($query);
            return;

this is the problem: how can i dynamically change the condition based on the inputby user

Answer

Solution:

You can generate a query based on conditions that recieved from client. something like this:

$query = "SELECT * FROM tbl_emp_information";

$civil_status = $data['civil_status'];

if ($civil_status){
     $query .= " WHERE civil_status = '$civil_status'";
}

You can use query builders like laravel Eloquent for simplicity

Source