Guten Tag Allesamt,
Ich wollte eine Useranmeldung zusammenstellen, nun häng ich aber dabei, dass ich prüfen möchte, ob ein User mit derselben Emailadresse bereits vorhanden ist.
Hier der Quelltext:
(Übergeben werden $pass, $user, $login)
$sql="SELECT COUNT(*) FROM user WHERE email=\'$email\'";
list($rs2)=mysql_query($sql,$conn) or die("Fehler");;
if ($rs2 > 0) {
echo "Diese Emailadresse wird bereits für einen Account verwendet.";
}
else
{
if ($email && $login) {
$sql2="INSERT INTO user (email,nickname,password,newsletter) VALUES (\'$email\',\'$login\',\'$pass\',\'1\')";
mysql_db_query($datenbank,$sql2);
echo "Der Account wurde eingetragen!
Du wirst in Kürze eine Email mit deinem Passwort erhalten.";
echo mysql_num_rows($rs2);
}
}
Leider wird, egal, ob die Emailadresse bereits vorhanden ist (egal, ob $rs2 über 0 ist), immer wieder ein neuer Eintrag hinzugefügt.
Ich habe schon mehrere Varianten durchprobiert, unter anderen mit mysql_num_rows().
Wer kann mir helfen?
Ich bedanke mich im Vorraus.
Nico Albrecht
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
deine syntax stimmt aus mehreren gründen so nicht. es gibt jetzt 2 möglichkeiten, wie du das lösen kannst. entweder fragst du so ab:
if($rs[0]>0){...} /$rs ist ein array und $rs[0] ist dein gesuchter wert
oder du setzt ganz normal einen query mit select ab und prüfst mit mysql_num_rows die anzahl der gefundenen treffer ab.
Beide Möglichkeiten funktionieren nicht. Letztere habe ich bereits auf mehreren Wegen probiert, aber irgendwie will es einfach nicht.
Ich dachte auch schon, in meiner Abfrage stimmt etwas nicht, aber sie gibt wirklich >0 (1..) und 0 zurück. Deshalb bin ich auch recht verwirrt.