Aufsteigende ID für DB erstellen

kode90

Grünschnabel
Hi folks!
Ich will für mein DB-Script User hinzufügen können.
Diese werden in eine Tabelle mit den Feldern ID, NICK und PASS eingefügt.
Nun würde ich gerne wissen, wie ich aufsteigende IDs - also 1,2,3 usw - generieren kann, die dann bei jedem User-Neueintrag in die DB eingefügt werden.
Wenn ich des jetzt nicht so gut erklärt hab, lasst es mich bitte wissen
CYA und jetzt schon Danke für eure (hoffentlich) fleißige Hilfe!!
 
Hallo,

hmm ich weiß nicht was du genau willst. Aber wenn du meinst die ID die z.B. der PHPMyADMIN vergibt dann muss ich dir sagen, dass der das selber macht, da musst du gar nichts machen.

Sollte ich dich falsch verstanden haben, dann musst du einfach das ganze nochmals besser schreiben.

Gruß Blümchen
 
Du kannst bei einer SQL-Tabelle einstellen ob ein Wert auto_increment sein soll.
Das bietet sich vor allem bei IDs an.

Kleiner Auszug aus meiner createdb.php, zum veranschaulichen:
PHP:
  if (mysql_query("CREATE TABLE `users` (`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT,`username` VARCHAR( 80 ) NOT NULL,`password` VARCHAR( 255 ) NOT NULL,`email` VARCHAR( 255 ) NOT NULL,`userlevel` INT( 4 ) UNSIGNED NOT NULL,PRIMARY KEY ( `id` ))",$db))
   {
    printf("Table users created<br>");
   }

@Bluemchen: Das hat nichts mit PHPMyAdmin zu tun, das ist ein SQL-Feature.
PHPMyAdmin ist ja keine Datenbank, sondern nur ein Verwaltungstool fuer MySQL-Datenbanken.
 
also, noch mal von vorne:
meine Tabelle sieht so aus:
ID, NICK, PASS
jetzt hab ich folgenden code:
PHP:
$insert = mysql_query("INSERT INTO kode_mail_users (id,nick,pass) VALUES(//$ID,'$user','$pass')");
if($insert) {
print('<font color=#333366>User wurde erfolgreich angelegt!</font>');
}
Da wo $ID steht, sollte jedes Mal, wenn ich einen neuen User anlege, eine ID vergeben werden und die ID möchte ich fortlaufend machen, also bei ersten User "1", beim zweitem "2", beim dritten "3" usw. Wie kann ich das machen?
edit: uha, da war jemand schneller als ich! danke für die antwort
 
Ach ja, wenn die ID auf auto_increment steht, brauchst Du Dich beim Eintrag in die Datenbank absolut nicht darum kuemmern.
Du uebergibst einfach nur die anderen Werte und vergisst die ID einfach mal.
 
So, ich hab jetzt die Tabelle angelegt, mit
PHP:
`id` INT( 2 ) UNSIGNED NOT NULL AUTO_INCREMENT
und außerdem noch NICK und PASS jeweils als VARCHAR.

Mein Formular ist nun so:
register.php
HTML:
<form action=register.do.php method=post>
user<input name=user><br>
pass<input type=password name=pass1><br>
pass<input type=password name=pass2><br>
subm<input type=submit value=register></form>

register.do.php
PHP:
if($pass1 != $pass2) {
print('<font color=#FF0000>Die beiden Passwörter stimmen nicht überein!</font>');
include('register.php');
exit;
} else {
$pass == md5($pass2);
include('config.inc.php');
$insert = mysql_query("INSERT INTO kode_mail_users (nick,pass) VALUES('$user','$pass')");
if($insert) {
print('<font color=#333366>User wurde erfolgreich angelegt!</font>');
}
}
Aber ich hab nicht den Rückgabewert "User wurde erfolgreich angelegt!"
Das heißt, dass die mysql_query nicht auseführt wurde oder irgendwas schief gelaufen ist.
 
PHP:
if($pass1 != $pass2){ 
  print('<font color=#FF0000>Die beiden Passwörter stimmen nicht überein!</font>'); 
  include('register.php'); 
  exit; 
} else { 
  $pass == md5($pass2); 
  include('config.inc.php'); 
  $insert = mysql_query("INSERT INTO kode_mail_users (nick,pass) VALUES ('$user','$pass')"); 
  if(!empty($insert)) { 
	print('<font color=#333366>User wurde erfolgreich angelegt!</font>'); 
  } 
}
 
Zuletzt bearbeitet:
Zurück