Tach!
$sqll = "SELECT COUNT(*) FROM FlyerVersandAdresse" . $region;
Das riecht ganz stark nach verbesserungswürdigem Datenbankdesign. Warum sind die Regionen in separaten Tabellen? Warum ist die Region nicht nur ein Kriterium innerhalb einer gemeinsamen Tabelle?
Warum wird die Region einfach so in die Query gesetzt? Ist absolut sichergestellt, dass als Region nicht beliebige Code übergeben werden kann?
if (!$sqll) die("sql lost");
Sowas ist schnell und schmutzig, aber keine für den Produktivbetrieb geeignete Fehlerbehandlung. Das Script stirbt ganz jämmerlich und oftmals gibt man dabei noch Interna preis, die der Anwender nicht wissen muss. Aufgabe von Funktionen ist nicht, das Programm zu steuern, sondern Daten zu liefern. Der Programmfluss sollte vom aufrufenden Code definiert werden. Der weiß besser, was im Falle eines Falles zu tun ist.
$e = mysql_query($daba,$sqll); if (!$e) die("e lost");
Fehler finden in der Entwicklungsumgebung: var_dump() ist das Werkzeug der Wahl (wenn man keinen Debugger zur Verfügung hat). Zudem sollte das error_reporting auf E_ALL gestellt sein und display_errors auf 1. Vermutlich hättest du dann zwar auch nicht gefunden, dass da ein i im Funktionsnamen fehlt, aber es hätte sicher Meldungen über falsche Parameter gegeben.
return htmlspecialchars($row[0]);
Und wie schon von Rolf b gesagt, das Aufbereiten für irgendeine Ausgabe ist auch nicht Aufgabe der Datenbesorgungsfunktion.
dedlfix.