hallo!
also, einen schalter in mysql gibt es nicht, der db ist es absolut egal, wenn du 10000 mal den selben wert eingibst
!
aber nun zu deinem problem...
das ist wohl eines der elementarsten probleme im datenbankgeschäft, die verhinderung/ reduzierung redundanter daten.
ich mach das immer so: zuerst nehme ich die werte, die eingegeben worden sind und starte eine anfrage an die db. also z.b. SELECT name, vorname, ort FROM <tabelle> WHERE name=$name AND vorname = $vorname AND ort = $ort.
wenn die anzahl der entsprechenden result-sets größer 0 ist, gibt es einen entsprechenden eintrag schon einmal, darauf kannst du dann entsprechend reagieren.
<snip>
$result=mysql_query($query,$link);
if ($result) {
if ($count_result=mysql_affected_rows() > 0) {
while ($line=mysql_fetch_row($result)) {
--> fehlerbehandliung, da es schon einen datensatz mit den entsprechenden einträgen gibt
}
}
else {
---> hier kannst du dann dein INSERT - Statement einfügen, es gibt noch keinen entsprechenden eintrag
}
else {
---> fehlerbehandlung ab hier, es gab einen fehler bei der anfrage an die db, was nichts darüber aussagt, ob ein eintrag schon vorhanden wäre!
}
</snip>
den $query - string mußt du dir nach deinen eigenen kriterien zusammenstellen, kommt drauf an, wieviele werte (vorname, name, ort,...) du auf gleichheit testen willst.
den quellcode (s.o.) mußt du dir mal in nem editor mit syntax-highlightning anschauen und entsprechend einrücken, das board akzeptiert keine tabulatoreinrückungen.
ich hoffe, du siehst jetzt klarer, bin auf deine ergebnisse gespannt!
mfg, pir187