well, since you're updating confirmed to a single value (Y), i would do it like this with 2 queries instead of a loop. doesn't matter much with only 3 entries, but if there were more it's much better to have fewer queries.
BTW, weird, you put quotes around a number ($id). 
PHP Code:
$r = mysql_query("SELECT id FROM table WHERE confirmed='N' AND category='category' ORDER BY date LIMIT 3");
while ($row = mysql_fetch_row($r)) { $ids[] = $row[0]; }
mysql_query("UPDATE table SET confirmed='Y' WHERE id IN(0" . implode(',', $ids) . ")");
Bookmarks