Ваш mysql_query()
вызов сбой, поэтому вы получаете эту ошибку, потому что $result
является логическим значением FALSE
.Вероятно, это связано с тем, что в вашем запросе есть синтаксическая ошибка - в запросе отсутствует закрывающая одинарная кавычка '
.
Изменить
$result = mysql_query("update online_reg set modify = now(), activation_key_1 = '', activation_key_2 = '',activation_key_3 = '' where id = '" . $id . "");
На
if (!$updateResult = mysql_query("UPDATE `online_reg` SET `modify` = now(), `activation_key_1` = '', `activation_key_2` = '', `activation_key_3` = '' WHERE `id` = '".mysql_real_escape_string($id)."'")) die('MySQL Error: '.mysql_error());
... но будьте осторожны, чтобы не показывать содержимое mysql_error()
кому-либо в реальном мире, это должно быть только для целей отладки!
РЕДАКТИРОВАТЬ
Как справедливо указывает, вы перезаписали содержимое переменной $result
результатом оператора UPDATE
, поэтому он всегда будет логическим TRUE
или FALSE
.Вам нужно либо переименовать вторую переменную $result
(как указано выше в моем исправленном примере), либо полностью отбросить ее - вам, вероятно, не нужно захватывать возвращаемое значение для использования позже, поэтому вы можете просто обернуть вызов mysql_query()
воператор if
и действовать соответствующим образом во время запроса.