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

Id automatisch erzeugen

webber979

Neues Mitglied
Hallo Leute,
1. ich möchte, dass nach einem Registrierungsformular die dateien dieses Registrierungformular in eine MySQL tabell eingeschrieben werden. Nach dem der zweite user sich regstriert hat solll ich demnach seine Daten in die uzweite Zeile eingeschrieben werden und ihm automatisch die ID 2 gegeben werden. Und dann immer soweiter. Wisst ihr wie ich das mit diesem automatischem ID zuweisen hinbekommen kann.
2. Kann ich auch verschiedene daten des selben scripts in zwei verschieden MySql Tabellen zeilen schreiben?
Danke im Vorraus
alex979k
 
Zuletzt bearbeitet:
kann ich das
HTML:
id MEDIUMINT NOT NULL AUTO_INCREMENT,

irgendwie in mein PHP script einfügen?

Und wie kann ich die Daten in meinem script dann halt zu der nächsten ID zeile hinzufügen.

PHP:
if ($stmt = $mysqli->prepare("INSERT INTO //hier soll es halt in die nächste Zeile der automatischen ID hinzgefügt werden (s,bla) VALUES (?)")) 
  if ($stmt2 = $mysqli->prepare("INSERT INTO statistics (gefunden) VALUES (?)")) {
    {
    $stmt->bind_param("s",$bla );
    $stmt2->bind_param("s", $gefunden);
    $stmt->execute();
    $stmt->close();
    $stmt2->execute();
    $stmt2->close();
    $mysqli->close();
}

2. Ist das mit den zwei verschiedenen Mysql zeilen so richtig?
 
Tu Dir einen Gefallen und eigne Dir die Grundbegriffe von PHP, MySQL, CSS und HTML an. Deine Fragen lassen erkennen, daß Du gar keine Idee hast, was diese Programme oder Sprachen überhaupt machen. Es gibt prima Tutorials im Internet und es gibt auch gute Bücher.
 
ich hab ein PHP MYSQL Fahcbuch gelesen!
Ich wollte nur Dinge wissen die nicht im Buch stehen und sorry das ich keine Fachausdrücke kenne!
 
Den musst Du anwenden wenn Du die Datenbanktabelle erstellst. Nicht wenn Du Datensätze in diese einfügst. Sollte durch Lesen im Manual (Link oben) klar werden.
 
Achso alles klar danke :-)
Aber wenn ich mein PHP Script habe was muss ich dann bei der Stelle //Hier einfügen damit es immer automatisch in eine neue Zeile eingefügt
  • mRgAWGnGQwUuS2NZSa43WtRwEA3EDMsS20SAQA7

?
PHP:
if ($stmt = $mysqli->prepare("INSERT INTO //hier soll es halt in die nächste Zeile der automatischen ID hinzgefügt werden (s,bla) VALUES (?)")) 
  if ($stmt2 = $mysqli->prepare("INSERT INTO statistics (gefunden) VALUES (?)")) {
    {
    $stmt->bind_param("s",$bla );
    $stmt2->bind_param("s", $gefunden);
    $stmt->execute();
    $stmt->close();
    $stmt2->execute();
    $stmt2->close();
    $mysqli->close();
}
webber979
 
Wenn man in mySQL eine neue Tabelle erstellt, gibt es eine Option die sich "auto_increment" nennt. Wenn man diese Option aktiviert erhöht sich der Wert des Feldes immer automatisch um 1 (meistens ist das die ID).
 
Zuletzt bearbeitet:
Ah ok Danke Struppi
1. heißt das ich muss in etwa sowtwas schreiben?
PHP:
mysql_insert_id()=$id

if ($stmt = $mysqli->prepare("INSERT INTO mysqltabelle WHERE id=$id  (s,bla) VALUES (?)")) 
  { $stmt->bind_param("s",$bla );
   $stmt->execute();
    $stmt->close();
    if ($stmt = $mysqli->prepare("INSERT INTO statistics (gefunden) VALUES (?)")) {
    { $stmt->bind_param("s", $gefunden);
    $stmt->execute();
    $stmt->close();
    $mysqli->close();
}
}
oder lass ich das feld einfach frei

PHP:
if ($stmt = $mysqli->prepare("INSERT INTO mysqltabelle  (s,bla) VALUES (?)")) 
  { $stmt->bind_param("s",$bla );
   $stmt->execute();
    $stmt->close();
    if ($stmt = $mysqli->prepare("INSERT INTO statistics (gefunden) VALUES (?)")) {
    { $stmt->bind_param("s", $gefunden);
    $stmt->execute();
    $stmt->close();
    $mysqli->close();
}
}

2. Kann das mit den 2 $stmt so funktionieren?

3.Wenn ich jetzt bei
PHP:
$stmt->bind_param("s", $gefunden);
Keinen String sondern etwas gemischtes mit Zeichen und Nummern einbinden will was brauch ich dann für einen Buchstaben?

Wär echt nett wenn ihr mir das beantworten könntet.
 
Dein 2. Code stimmt bzgl. dem Statement. Der erste ist falsch.

Natürlich kannst Du eine Variable (in deinem Fall $stmt) neu belegen. Aber erst wenn Du den vorherigen Wert nicht mehr benötigt. Das ist bei deinem Code ja der Fall.
 
Zurück
Oben