• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

email-addresse nur dann eintragen wenn noch nicht vorhanden...

Metallica

Lounge-Member
Hi allsides :)

warum funtzt mein script nicht??
der returnvalue von $checkmail ist jedesmal checkmail=Resource id #2
was paßt da noch nicht??

CODE:
if ($email != ""){ //hat der user überhaupt eine addresse eingegeben
$checkmail = mysql_query("SELECT EMAIL FROM tabelle WHERE EMAIL = '$email'");
if ($checkmail != ""){ //was sollte checkmail zurückliefern??
$insertmail = "INSERT INTO tabelle SET EMAIL = '$email', INFO = 'yes'";
$insertmail2 = mysql_query($insertmail);
}
}
 
$checkmail ist ein mysql Resultset, welches Du nur in Verbindung mit weiteren mysql_* Funktionen verwenden kannst. Du solltest Dich also hüten, diese Variable mit normalen Vergleichs- oder Ausgabeoperationen zu verwenden. Nur die mysql_* Funktionen können richtig mit dem "Vieh" umgehen, also benutze sie auch... :)
 
blackout

sorry, Albu.
aber ich steh momentan komplett auf der leitung und weiß überhaupt nicht was du meinst??
 
ähmmm also $checkmail gibt nicht die EMail Adresse aus der Tabelle zurück, es enthält ein Handle, welches nur in mysql_* Funktionen sinnvoll eingesetzt werden kann, wie z.B. mysql_num_rows gibt die Anzahl der im Resultset enthaltenen Zeilen zurück, sollte also 0 zurückgeben, wenn der Datensatz nicht da ist, 1 oder mehr, wenn mindestens ein Eintrag in der Tabelle verfügbar ist....
 
Erleuchtung....

ahhha. du meinst das so:

$checkmail = mysql_query("SELECT EMAIL FROM tabelle WHERE EMAIL = '$email'");
$anzmail = mysql_num_rows($checkmail);
if ($anzmail == 0){
$insertmail = "INSERT INTO tabelle SET EMAIL = '$email', INFO = 'yes'";
$insertmail2 = mysql_query($insertmail);
}
 
Zurück
Oben