Самое первое - mysql_query устаревший драйвер. Не используется с 7 и деприкэйтед в 5.х.
Второе, что собственно вызывает ошибку,
$query = mysql_query("UPDATE `catch` SET `hide` = '1' WHERE `id` = '$id'");
$res = mysql_query($query) or die (mysql_error());
сначала получаете селект, потом от него снова делаете запрос???
и третье - у вас там ид непонятно есть ли вообще, и кроме того, если в бд поле интежер, кавычки не нужны, то же относится к hide.
$query ="
UPDATE `catch`
SET `hide` = '1'
WHERE `id` = '$id'";
var_dump($query);
$res = mysql_query($query) or die (mysql_error());