hi,
es sollen alle usernamen aus der db in einem Array gespeicher werden. dann will ich den user der sich jetzt anmeldet mit den usernamen vergleichen die in der Db stehen. wenn sie gleich sind soll ein Fehler ausgeben werden.
wozu denn dieser unnötige aufwand?
frage ab, ob es einen datensatz mit diesem usernamen schon in der DB gibt (WHERE-klausel), und werte das ergebnis aus - kommt ein datensatz zurück, ist er bereits vorhanden, andernfalls nicht.
dabei hilft dir nach der abfrage mysql_num_rows().
while ($user = mysql_fetch_array($result)) {
$username_db = $user["username"];
hiermit überschreibst du dir dein array $username_db wieder. es steht in $username_db am ende der schleife also nur noch der username, der als letzter von der Db geliefert wurde.
if($username == $username_db)
diese abfrage könnte jetzt unter dem umstand noch zutreffen, dass der neue username gleich dem letzten von der DB kommenden war.
wenn $username_db aber wirklich, wie eigentlich beabsichtigt, ein array wäre, wäre diese abfrage unsinn - du kannst nicht einfach so einen string mit einem array vergleichen.
da wäre dann in_array() angebracht - aber siehe oben, dieser ansatz ist sowieso unperformanter unsinn.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }