• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Neusten Datensatz aussuchen

Hansii

Mitglied
Hallo.

Ich habe ein Login-Skript mit Registrierung gebaut. Alles funktioniert auch, außer eins. Bei der Registrierung soll eine `user_id` gespeichert werden, damit der Benutzer später einfacher identifiziert werden kann. Diese soll um eins größer sein, als die letzte.

Meine Abfrage:

PHP:
$abfrage = "SELECT `user_id` FROM `users` or by `user_id` DESC LIMIT 1";            $ergebnis = mysql_query($abfrage);            $row = mysql_fetch_object($ergebnis);
                        $old_user_id = $row->user_id;


Meine Rechnung:

PHP:
$new_user_id = $old_user_id + 1;

Die höchste `user_id` in meiner Tabelle ist 11, sprich die neue müsste 12 sein. Ist aber nicht so, die neue ist immer 1.

Ich habe die Vermutung, dass ich einen kleinen Denkfehler in dieser Zeile habe, den ich allerdings irgendwie überlese:

PHP:
$abfrage = "SELECT `user_id` FROM `users` or by `user_id` DESC LIMIT 1";

PS: Ich weiß, dass MySQL veraltet ist, und ich habe auch vor, bald auf MySQLi umzusteigen.

Danke
 
"MySQL" in dieser Schreibweise lässt vermuten Du meinst das Datenbanksystem MySQL selbst. Du meinst aber die mysql_*-Funktionen von PHP ;)

Was Du suchst kann dir MySQL (nicht mysql_*) bereits bieten: schau dir mal die auto_increment-Eigenschaft an. Wenn Du die für die Spalte user_id setzt, dann erhöht sich diese ID automatisch selbst sobald ein neuer Datensatz eingefügt wird. Du musst dafür nichts in der Programmierung ergänzen oder machen, nur das INSERT - reicht völlig.
 
Super Danke. Dann braucht man daüfr nichts mehr zu beachten und es geht alles automatisch... Außerdam spart man Code und es wird übersichtlicher :D

Habe tortzdem ein Fehler (phpmyadmin), der kommt, wenn ich A_I setzen will:

#1054 - Unkown column 'user_id' in 'users'

Habe die Spalte auch neu angelegt, sprich es waren keine Daten mehr vorhanden.
 
Zuletzt bearbeitet:
Durch das neu anlegen hast du natürlich die Tabelle zerstört, da MySQL nicht nachträglich die ID's vergibt.
 
Zurück
Oben