UPDATE / DELETE queries don't have a result set, as such mysqli_query will just return true/false to indicate whether the query was successful or not. There's nothing to fetch so no reason to use mysqli_fetch_array.
By returning the result, I mean those methods could have just been:
public function deleteCategory($id) {
return mysqli_query($this->conn, "DELETE FROM top_categories WHERE top_cat_id=$id");
}
mysqli_query will return true or false. Adding the variable and if branch to check if it's true, just to then return true if it is, is entirely unnecessary.