The code doesn't make any sense.
You populate a recordset from the hostel table, and then you update the hostel table with the values from the recordset, which is the value that is already there.
I think you meant to update using the form element values, so the code should be something like:
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$UpdateQuery = new WA_MySQLi_Query($DBMS);
$UpdateQuery->Action = "update";
$UpdateQuery->Table = "hostel";
$UpdateQuery->bindColumn("Hostel", "s", "".($_POST["Hostel"]) ."", "WA_DEFAULT");
$UpdateQuery->bindColumn("Slots", "i", "".($_POST["Slots"]) ."", "WA_DEFAULT");
$UpdateQuery->addFilter("hid", "=", "i", "".($_GET['hid']) ."");
$UpdateQuery->execute();
$UpdateGoTo = "host.php?hid=" . $rsHost->getColumnVal("hid") . "";
if (function_exists("rel2abs")) $UpdateGoTo = $UpdateGoTo?rel2abs($UpdateGoTo,dirname(__FILE__)):"";
$UpdateQuery->redirect($UpdateGoTo);
}
?>