function update_person_info($person_id, $is_attending, $food_pref, $over_21, $is_attending_rehearsal, $is_attending_movie, $db_conn)
{
    // First, get the old info (for logging purposes)
    $old_info = get_single_person($person_id, $db_conn);
    if (is_null($old_info)) {
        return false;
    } else {
        $update_person_info_query = $db_conn->prepare("CALL update_person_info(:person_id, :is_attending, :food_pref, :over_21, :is_attending_rehearsal, :is_attending_movie)");
        $update_person_info_query->bindParam(":person_id", $person_id);
        $update_person_info_query->bindParam(":is_attending", $is_attending);
        $update_person_info_query->bindParam(":food_pref", $food_pref);
        $update_person_info_query->bindParam(":over_21", $over_21);
        $update_person_info_query->bindParam(":is_attending_rehearsal", $is_attending_rehearsal);
        $update_person_info_query->bindParam(":is_attending_movie", $is_attending_movie);
        if ($update_person_info_query->execute()) {
            // If update was successful, log it first
            log_info_update($old_info, $is_attending, $food_pref, $over_21, $is_attending_rehearsal, $is_attending_movie);
            return true;
        } else {
            return false;
        }
    }
}
require_once "db_utils.php";
require_once "utils.php";
$return_value = array();
$db_conn = open_db_conn();
if (is_null($db_conn)) {
    $return_value["status"] = false;
    $return_value["reason"] = "Database Error";
} else {
    // Make sure at least the person id was provided
    if (!isset($_POST["person_id"])) {
        $return_value["status"] = false;
        $return_value["reason"] = "Invalid Parameters";
    } else {
        $person_id = $_POST["person_id"];
        // Get the person's data to use for validation purposes
        $person_info = get_single_person($person_id, $db_conn);
        $params_to_check = array("party_id", "auth_token", "person_id", "is_attending", "food_pref", "over_21");
        if ($person_info["is_invited_to_rehearsal"]) {
            array_push($params_to_check, "is_attending_rehearsal");
        }
        if ($person_info["is_invited_to_movie"]) {
            array_push($params_to_check, "is_attending_movie");
        }
        if (!check_params($params_to_check)) {
            $return_value["status"] = false;
            $return_value["reason"] = "Invalid Parameters";
        } else {
            $party_id = $_POST["party_id"];
            $auth_token = $_POST["auth_token"];
            $is_attending = $_POST["is_attending"];
            $food_pref = $_POST["food_pref"];