The problem isn't immediately obvious to me. You should post the actual SQL you're executing and crank up error_reporting and show us what messages you're getting.
Also, you really don't need that
for loop. You can do the whole update in one query:
Code:
UPDATE yourtable SET id = id - 1 WHERE id BETWEEN :deleted_id + 1 AND :highest - 1
The placeholders :deleted_id and :highest are your $_GET['id'] and $_GET['highest'] respectively. Also, since you're already using mysqli, you might want to look into prepared statements rather than using string concatenation to put data into your queries.