Eindeutige ID

Hallo,

ich brauche eine eindeutige ID um einen Vergleich durchzuführen.
Da es sich um ein Formular handelt, wo der User seine (eine) gültige Mailadresse angeben muss, dachte ich ich verwende die Mail und die Zeit.

rausgekommen ist folgendes

$mail ="emailabsender@vonda.de"; $zeit= time(); $id=$mail.$zeit; $idnummer = md5(uniqid($id));

Das Ergebnis müsste doch relativ eindeutig sein?

Im Netz habe viele Möglichkeiten gefunden um eine eindeutige ID zu generieren , zum Beispiel echo md5(uniqid(rand(), TRUE));, die waren aber alle alphanumerisch, gibt es eine Möglichkeit eine eindeutige numerische ID zu erzeugen?

MfG
GD

Handelt es sich dabei um eine MySQL Tabelle?

Hallo,

einmal nein und einmal ja.

MfG
GD

Du gibst 2 Antworten auf eine Frage? Wie ist das jetzt zu verstehen? :astonished:

Das wäre beim Wunsch nach höchstmöglicher “Eindeutigkeit” ja unsinnig - denn damit nimmst du bei gleicher Zeichenlänge zahlreiche Möglichkeiten aus der potentiellen Ergebnismenge, was logischerweise die Wahrscheinlichkeit eines “eindeutigen” Wertes verringert.

Hallo ChrisB,

eigentlich logisch. Danke.

Hallo jw-lighting,

ich brauche die Id einmal um sie in eine MySql Tabelle zu insern und ein zweites Mal für einen Vergleich in einer PHP Datei.

MfG
GD

Warum nimmst du nicht einfach eine id, die bei jedem DB-Eintrag um eins steigt?

Hallo, das hatte ich so, nur läuft die ID dann “auseinander” weil die Daten aus mehreren Tabellen geholt werden und dann in eine zusammengespielt. So ist es dann möglich das eine ID doch doppelt ist.

Deswegen dieser Weg.

MfG
GD

Bei einem Insert in eine neue Tabelle kannst du alle IDs neu durchnummerieren lassen… bin mir aber nicht sicher ob du das willst :ps:

ich denke, für dich ist ein Stringfeld mit 13 oder 23 Zeichen und uniqid() das Beste, oder gibt es einen anderen, konkreten rund, warum die ID Nummerisch (ein Integer/Float) sein muss?

Auf jeden Fall eine Hashtabelle, das dürfte dir helfen: de.wikipedia.org/wiki/Hashtabelle

PS: MD5 hat immer noch das beste kollisionsverhalten, ich rate dir daher zu:

oder was auch immer :wink:

Hallo,

@ jw-lighting, danke
es gab keinen Grund warum die ID nur aus zahlen bestehen sollte.

@michi7x7 Dir auch Danke

MfG
GD