The issue is probably the dash in your column name.
The easiest fix would be to rename the column in the database and update the references to it. In the future avoid using any special characters in column names to prevent potential errors.
Another potential solution is to wrap the column name with slanted quotes where it appears on line 29 like:
$UpdateQuery->bindColumn("`E-mail`", "s", "".((isset($_POST["EMAIL"]))?$_POST["EMAIL"]:"") ."", "WA_DEFAULT");
That should also fix the problem, but you would have to do it manually in potentially more situations as well, so it is probably easier to rename the column if that is an option.