Ja das mit MYSQL_ASSOC habe ich in dem anderen von mir erwähntem Loginscript auch benutzt. Kann daran nicht liegen und das funktioniert auch so und eigentlich müsste er doch 'mysql_fetch_assoc is not a valid result ressource' schreiben, wenn $ergebnis2 undefiniert wäre.
Hast Du denn $ergebnis2 überprüft? Wenn Du eine Tabelle mit einer Abfrage bearbeitest, die kein Ergebnis zurückliefert (bzw. schon ein Ergebnis aber halt keine Datensätze, die auf die Abfrage passen), dann ist $ergebnis nicht undefiniert sondern vom Typ Object.
Beispiel:
$db ist eine Tabelle mit den Feldern titel und mail.
$ttt = $db->query("SELECT * FROM artikel WHERE titel = 'Rockenroller'") or die("HHH");
echo $ttt liefert Object id#2
echo mysqli_fetch_assoc($ttt) liefert gar nichts, weil es keinen artikel mit namen 'Rockenroller' gibt.
HHH kommt, wenn die Abfrage gar nicht zur Tabelle passt, ich also z.B. einen Feldnamen falsch schreibe.