Tut es - Bei mir jedenfalls:
PHP-Code:
while($row = mysql_fetch_row($res)) {
if(in_array($row[1],$all)) {
$query = "DELETE FROM `datenbank`.`tabelle` WHERE `tabelle`.`id` = '".$row[0]."'";
mysql_query($query);
continue;
}
$all[$row[0]] = $row[1];
}
Die Schleife müsste man in der Form kennen. Sie wertet den Query aus. So jetzt haben wir eine if-Abfrage, die prüft, ob in dem Array $all bereits dieser User drin vorkommt (ich habe es jetzt nur mit dem User gemacht gehabt), wenn nicht wird er eingetragen. Wenn er doch schon vorkommt wird die entsprechende ID des nächsten Eintrages, der dann ja doppelt ist nicht eingetragen in das Array sondern aus der Datenbank gelöscht und zum nächsten Eintrag gesprungen. Einer bleibt also immer vorhanden.
Falls Du das Passwort auch in die Suche integrieren möchtest:
PHP-Code:
<?php
$host = "localhost";
$user = "root";
$pw = "";
$db = "security";
$con = @mysql_connect($host,$user,$pw);
@mysql_select_db($db);
if(!$con) {
die("Connectien denied for user ".$user." at ".$host."!");
} else {
$query = "SELECT * FROM `security`.`into_dumpfile`";
$res = mysql_query($query);
$all = array();
while($row = mysql_fetch_row($res)) {
if(in_array($row[1].$row[2],$all)) {
$query = "DELETE FROM `security`.`into_dumpfile` WHERE `into_dumpfile`.`id` = '".$row[0]."' LIMIT 1";
mysql_query($query);
continue;
}
$all[$row[0]] = $row[1].$row[2];
}
}
?>
Wäre vielleicht sinnvoller, da die Leute auch mal Falscheingaben machen ^^.
Im übrigen gehe ich von so einer Tabelle aus (in etwa):
id | user | password
oder
id | user | pwd
Wie sie eben bei Dir heißen.
Das wären dann von links durchnummeriert: $row[0], $row[1] und $row[2]. Müsstest Du auch dementsprechend anpassen.
Das Script von oben läuft bei mir perfekt, Einträge, bei denen User und Passwort gleich waren wurden entfernt - Einer wurde belassen.