jez wäre es perfekt wenn er nicht alles löscht was doppelt ist sondern noch einen eintrag davon behält
Druckbare Version
jez wäre es perfekt wenn er nicht alles löscht was doppelt ist sondern noch einen eintrag davon behält
Tut es - Bei mir jedenfalls:
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.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];
}
Falls Du das Passwort auch in die Suche integrieren möchtest:
Wäre vielleicht sinnvoller, da die Leute auch mal Falscheingaben machen ^^.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];
}
}
?>
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.
ich hab nur user und pwd
bei mir wird alles gelöscht bis auf das das was nur einmal da warZitat:
Das Script von oben läuft bei mir perfekt, Einträge, bei denen User und Passwort gleich waren wurden entfernt - Einer wurde belassen.
//edit jez gehts hab da das LIMIT 1 hinter gesetzt
Ja, ich vergaß - Sollte immer bei Updates, Deletes etc. hinzu, damit nichts falsches passiert. Hatte ich schon hinzueditiert.Zitat:
Zitat von 113puma
Ist mit dem vergessen von $i++ mein häufigster Fehler :>.
Naja, Hauptsache es geht nun :D.