Rückgabe der id bei mysql_query

Transporter

Mitglied
Hallo,

ich hoffe Ihr könnt mir helfen!
Ich registriere meine User durch:

$register_user = "INSERT INTO d_user (name, password, email, start_log, last_log) VALUES ('".$HTTP_POST_VARS["name"]."', '".md5($HTTP_POST_VARS["password"])."', '".$HTTP_POST_VARS["email"]."', '".time()."', '".time()."')";
$eintragen = mysql_query($register_user);

die Tabelle d_user hat einen anto_increment (INT) der die user_id automatisch einträgt.
Mit dieser, bei der registrierung automatisch eingetragenen user_id, möchte ich anschließend noch weiterarbeiten. Komm ich an diese id nur ran, wenn ich sie nach dem eintragen manuel SELECte?

$query = mysql_query("SELECT user_id FROM d_user WHERE name = '".$HTTP_POST_VARS["name"]."'");
$d_user = mysql_fetch_object($query);

oder gibt SQL bei - $eintragen = mysql_query($register_user); - irgendwie die benutze id zurück?

Ich danke Euc hfür Eure Hilfe.

Gruß Transporter
 
In PHP: [phpf]mysql_insert_id[/phpf]
Für BIGINT-Spalten in MySQL: LAST_INSERT_ID()

Gruß hpvw

PS: Bitte nutze die Code Tags, [ php ]code[ /php ] für PHP-Quelltexte, [ html ]code[ /html ] für HTML-Quelltexte und [ code ]code[ /code ] für sonstige Quelltexte, natürlich ohne die Leerzeichen. Das macht die Quelltexte übersichtlicher. Für kurze Code-Teile im Fließtext (z.B. Variablen- oder Funktionsnamen) kannst Du [ mono ]kurzer Code-Fetzen[ /mono ] verwenden.

PPS: Du solltest mit den neuen superglobalen Arrays $_POST und $_GET arbeiten und nicht mit den alten HTTP_*-Arrays.
 
PPS: Du solltest mit den neuen superglobalen Arrays $_POST und $_GET arbeiten und nicht mit den alten HTTP_*-Arrays.
Nicht nur das, du solltest insbesondere Daten von Usern (wie eben z.B. $_POST) vor dem Eintragen in die Datenbank durch die Funktion [phpf]mysql_real_escape_string[/phpf] jagen, da ansonsten deine Datenbank sehr anfällig für MySQL-Injektionen ist (d.h. deine Datenbank kann gehackt werden).
 
Zurück