$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
Вы никогда не выполняли базовую проверку ошибок по результату mysql_query
(то есть FALSE
, если произошла ошибка).
В наивном смысле это может означать:
$result = mysql_query($sql);
if (!$result)
die(mysql_error());
while($row = mysql_fetch_assoc($result))
При этом вы увидите сообщение об ошибке, сообщающее, что ваш SQL-запрос недействителен: в его конце есть )
, которого там быть не должно.
Кстати, $result2
и $result3
являются избыточными, поскольку операторы INSERT
/ DELETE
не могут вернуть вам данные.