[PHP]Eintrag in der Datenbank überprüfen

Syka

Sparer
ID: 175523
L
10 Mai 2006
461
48
Hallo,

wie überprüfe ich ob ein bestimmter eintrag in der Datenbank bereits existiert z.B

abc@abc.de in der spalte "email" in der tabelle "email"

und wie kann man es am besten mit einer if-abfrage ausgeben lassen ?
 
Code:
 $email_vorhanden = mysql_num_rows(mysql_query("SELECT * FROM datenbank WHERE email LIKE '$email'"));
if ($email_vorhanden > 0) {
  echo "Die Mail gibt es schon";
}
  else ...
 
Warum LIKE verwenden, wenn du einen einfachen Vergleich willst ? :hö:
Code:
... WHERE email [B][COLOR=Red]=[/COLOR][/B] '....'
Du nimmst LIKE, wenn du nur den Wortanfang oder so checken willst. Was du aber willst, ist ein Vergleich, ob eine Spalte mit einem Wert übereinstimmt. Da ist nur das Ist-Gleich-Zeichen angebracht.

edit:
Und bitte nicht alle Einträge auslesen, wenn du sie nur zählen willst.
Stichwort COUNT(*). Die DB dankts dir ;)
 
Code:
<?PHP


mysql_connect(localhost, xxx, xxx);
mysql_select_db(xxx);



$email= $_POST['email'];

$sql="INSERT INTO email(email) VALUES('$email')";
$check=mysql_query("SELECT * FROM testdb WHERE email='$email'");
$email_vorhanden=mysql_num_rows($check);

if ($email=="") {
    echo "Du hast keine emailadresse angegegeben";
}else {

if ($email_vorhanden > 0) {
  echo "Die Mail gibt es schon";
}
  else {
      echo "Email wurde in unser System eingetragen";
      mysql_query($sql);
  }

}

?>
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\xampp\eintragen.php on line 13

Was habe ich falsch gemacht ? o_O
 
Warum LIKE verwenden, wenn du einen einfachen Vergleich willst ? :hö:
Code:
... WHERE email [B][COLOR=Red]=[/COLOR][/B] '....'
Du nimmst LIKE, wenn du nur den Wortanfang oder so checken willst. Was du aber willst, ist ein Vergleich, ob eine Spalte mit einem Wert übereinstimmt. Da ist nur das Ist-Gleich-Zeichen angebracht.

edit:
Und bitte nicht alle Einträge auslesen, wenn du sie nur zählen willst.
Stichwort COUNT(*). Die DB dankts dir ;)

Ist in diesem Fall sinnvoller, das stimmt.
Obiges hätte aber auch seinen Zweck erfüllt...