Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
doppelte einträge in der db [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
doppelte einträge in der db


 
culdesac
06-09-2001, 19:44 
 
hallo,

ich lasse über ein formular daten in die mysql-db schreiben. klappt auch, nur manchmal (!) wird der Datensatz doppelt angelegt.
Was mach ich falsch ???

Wenn mir dabei keiner helfen kann,
wie kann ich denn schnelle und einfach ein table auf doppelte einträge überprüfen lassen und diese automatisch löaschen lassen ???

Schöner wäre aber schon eine Lösung des DoppelteDaten-Problems ;-)

Thanx !!

 
Berni
06-09-2001, 19:52 
 
setz doch einfach ein primary key auf ein feld!

 
culdesac
06-09-2001, 20:06 
 
Ich hab den primary schon auf der id, kann ich denn mehr als einen primary haben ???

 
JoelH
07-09-2001, 07:16 
 
dann sind die Datensätze ja nicht doppelt wenn sie verschiedene id's haben, naja aber egal du kannst Spalten auch als unique eintragen dann dürfen sie nicht mehrmals vorkommen.

 
culdesac
10-09-2001, 17:51 
 
mmmmhhh, das problem ist:

die daten die eingetragen werden sind vorname, nachname, strasse, plz und ort.

wenn ich jetzt einen unique auf nachname setze, kann sich nur ein müller eintragen. der zweite wird einen fehler verursachen. !!!

was ich einfach nciht verstehe, das der eintrag manchmal zweimal in die db geschrieben wird !!

-> verzweifel <-

 
schmalle
10-09-2001, 18:29 
 
ich denke mal, dass einige "ungeduldige" surfer zwei oder drei mal auf "eintragen" klicken. da kann es schon vorkommen, das daten zweimal eingetragen werden.

 
JoelH
11-09-2001, 09:44 
 
dein Problem ist ganz einfach zu lösen, du baust in dein Script einfach ein Select ein und schaust ob die Kombination schon besteht also sowas in der Art :

SELECT * FROM liste WHERE name="$name" AND vorname="$vorname" ....

naja und wenn du einen Datensatz zurück geliefert bekommst dann ist der User schon vorhanden, dann schreibste halt ganz nett dass der Typ sich schon angemeldet hat und dies leider nur einmal tun darf.

 
Titus
17-09-2001, 15:37 
 
man kann einen UniqueKey auch auf mehrere Felder legen:

alter table TABELLENNAME add unique SCHLUESSELNAME (SPALTE1,SPALTE2)

Löschen kann man den dann wieder mit

alter table TABELLENNAME drop index SCHLUESSELNAME


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:49 Uhr.