dedlfix: nach Datensätze suchen

Beitrag lesen

echo $begrüßung;

$vergleich = "SELECT Username FROM tblRegistry WHERE Username = '$username'";
        echo "$username wurde ".mysql_num_rows($gefunden)." Mal gefunden";

So sollte man es nicht machen. Zum einen fehlt die kontextgerechte Behandlung von $username beim Einfügen als Stringwert in die Query (Stichwort: mysql_real_escape_string()). Und zum anderen sollte man COUNT(*) verwenden, wenn man nur eine Anzahl und nicht die Daten selbst haben möchte. Um die Ergebnismenge mit mysql_num_rows() zählen lassen zu können, muss sie vollständig vom Server zum Client übertragen werden. Dies macht PHP (genauer: die MySQL-Client-API) übrigens bei jedem mysql_query() im Hintergrund (vergleiche mysql_unbuffered_query()). Die Ergebnismenge anschließend unverarbeitet zu ignorieren, ist Aufwand, den man dem System ersparen kann. In diesem Fall werden es nur ein paar Bytes sein, doch bei größeren Datenmengen fällt eine Zählung nach diesem Prinzip mehr ins Gewicht.

echo "$verabschiedung $name";