flo: MySQL-Tabellenspalte auf doppelte Einträge prüfen

Beitrag lesen

Hallo zusammen !

Habe zu diesem Problem ein Test-Script geschrieben. Das Funktioniert auch soweit. Nur bei Einträgen > 10000 ist das ganze ein bischen lahm.

Könnte man das Ganze irgendwie besser lösen ?

Tabelle testperfco mit Spalte Nr und EMail

Code:

<?php

require("../db_mysql.inc.php");

// Set the variables for the database access:

$db = new DB_Sql;
$db->Host = "localhost";
$db->Database = "fwinkler";
$db->User = "";
$db->Password = "";

for ($j=1; $j<=10000; $j++)
{

//$j = 10000;

$db->query("SELECT EMail FROM testperfco WHERE Nr='$j'");
 $db->next_record();

$EMail = $db->f('EMail');

$db->query("SELECT COUNT(*) AS Doppelt FROM testperfco WHERE EMail='$EMail'");
 $db->next_record();

$doppelt = $db->f('Doppelt');

if ($doppelt > 1)
 {

print("$doppelt");
  print(" ");
  print("mal");
  print(" ");
  print("$EMail");
  print(" ");
  print("bei Nr $j");
  print("<br><br>");

//print("check Nr $j");
  //print("<br><br>");

$db->query("UPDATE testperfco SET Error='E-Mail-Adresse checken' WHERE Nr='$j'");
 }
 /*
 else
 {
 print("$j");
 print("<br><br>");
 }
 */
}

?>