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

Daten über PHP in Datenbank speichern? HILFE!

PHP_Neuling

Neues Mitglied
Hi Leute... ich habe mich mal dran gesetzt für mich und n´paar Kumpels ein Browsergame zu erstellen. (Ganz kleines einfaches Spiel)

Nun hab ich die Registrierung fertig und in meiner Datenbank die Zeilen Username und Passwort vergeben.

Jetzt ist mir aber aufgefallen das ich nachträglich jedem User der sich anmeldet eine ID zuweisen muss sonst gibt es größere Probleme im weiteren Script!

Ich habe eine Datei (register.php) in der ich die Registrierung in die Datenbank speichere. In der Datenbank ist nun auch ein Feld für die ID vorgesehen nun muss ich das Feld (das jedes mal die "ID" um einen erhöht!!!!) nur noch mit PHP irgendwie Füllen damit jeder User auch eine andere ID hat.

Der Code bis jetzt ist so: :arrow: mysql_query("INSERT into users VALUES ('".$_POST['username']."', '".$_POST['password']."')") or die(mysql_error());
Und da muss nun das oben beschriebene rein!

Bitte um Hilfe ;) :?::?::?:
Gruß
 
Stelle die Spalte ID in der Datenbank auf "auto_increment". Dadurch wird dort automatisch bei jedem Neueintrag eine ID eingetragen. Am PHP-Code musst Du dafür nichts ändern.
 
Ja das hab ich ja.. also die Zahl erhöt sich immer um 1! Aber wenn ich in das Feld nix einfüge kommt immer so ein Fehler: Column count doesn't match value count at row 1
 
Sag das doch gleich. In dem Fall solltest Du auch die Spalten im SQL-Statement nennen die Du füllen willst. Also statt

PHP:
mysql_query("INSERT into users VALUES ('".$_POST['username']."', '".$_POST['password']."')") or die(mysql_error());

so etwas

PHP:
mysql_query("INSERT into users (`name`, `pass`) VALUES ('".$_POST['username']."', '".$_POST['password']."')") or die(mysql_error());

Die Spaltennamen musst Du natürlich noch an die von dir verwendeten Spaltennamen anpassen.

Noch ein Tipp: Du solltest auch die Eingaben vor dem Speichern in der MySQL-Datenbank maskieren da es sonst zu Fehlern kommen kann. Dazu solltest Du die Funktion mysql_real_escape_string() verwenden.

Und bitte verwende Code-Tags wenn Du Quellcode hier zeigst.
 
Zurück
Oben