Waar controleer je of de query is gelukt? Oftewel of $res TRUE of FALSE is. Verder is het handig om eerst te kijken hoeveel resultaten er zijn, dan weet je zeker dat er iets op het scherm moet worden gezet.
De while-lus is trouwens overbodig omdat jij ongeacht het aantal resultaten slechts 1x gaat echoen. Waarschijnlijk is het de bedoeling dat de echo binnen de lus komt te staan, wanneer er meerdere resulaten mogelijk zijn (kan altijd met een LIKE !) heb je dat echt nodig. Wanneer je slechts 1 resultaat wilt hebben, kun je beter nog even LIMIT 1 in de query opnemen.
Offtopic: De kans dat je nl2br() en htmlentities() nodig hebt bij een id, is 0.000000... Ik neem tenminste aan dat het een getal is dat je als INT in de tabel hebt opgeslagen.