Vinzenz Mai: richtiges Script

Beitrag lesen

Hallo

$handle = fopen ($source, "r");
while (!feof($handle)) {
    $result = FALSE;
    $buffer = fgets($handle, 4096);
    $data = explode("|", $buffer);

warum nicht gleich [link:http://www.php.net/manual/de/function.fgetcsv.php@title=fgetcsv]?

## schon vorhanden?

eine völlig überfüssige DB-Operation:

$result = mysql_query("SELECT email FROM ".DB_TABLE." WHERE email='".addslashes($data[3])."'");

addslashes solltest Du zugunsten von [link:http://www.php.net/manual/de/function.mysql-real-escape-string.php@title=mysql_real_escape_string] entsorgen.
               [...])";

$result = mysql_query ($query) or die ("Der Datenbankeintrag hat leider nicht funktioniert.<br>".mysql_error());

  
die() ist keine Fehlerbehandlung!  
  
Ein UNIQUE-Index auf die Spalte email setzen, das INSERT vornehmen und damit rechnen, dass es zu einer Index-Verletzung kommen kann und diese MySQL-Fehlermeldung entsprechend behandeln (und protokollieren). Sonstige Fehler einfach protokollieren, statt das Skript sterben zu lassen. Zum Schluss Verarbeitungsprotokoll ausgeben.  
  
  
Freundliche Grüße  
  
Vinzenz