JooLeeK, а оно в таком виде действительно работает?
1) prinft на printf заменить;
2) в последней строке круглые скобки проверить;
3) код, который $row превращает в $class, $full_link, $title, $alt_title - где-то предполагается?
4) получается, что тело цикла исполняется до того, как прочтена первая запись результата запроса из БД - логичнее не do {... } while(...), а while (...) { ... }