Hi!
$ausgabe .= '<li><a href="' . htmlspecialchars(rawurlencode($row['link'])) . '"' .
' target="' . $row['target']. '">' .
Die ganze URL durch rawurlencode() zu schicken ist vermutlich kontraproduktiv, denn nur einzelne Werte müssen kontextgerecht angepasst werden, nicht jedoch die
Trennzeichen : . / ? = und & (beziehungsweise ;).
Den target-Wert nicht durch htmlspecialchars() zu schicken kann auch eine Lücke darstellen. Auch wenn er aus einer vermeintlich sauberen Quelle kommt, schadet es nicht, ihn HTML-gerecht aufbereiten zu lassen.
Lo!