2016-04-25 2 views
1

Ich möchte neue registrierte Benutzer mit AUTO_INCREMENT ID in Tabelle1 und gleichzeitig mysqli_insert_id oder LAST_INSERT_ID einfügen, was auch immer Sie es in Tabelle2 aufrufen möchten. Ich kann id out ausgeben, aber ich brauche es in meinem table2. Wie kann ich das erreichen? Bitte helfen Sie!
Hier ist mein Code als Referenz:Fügen Sie die mysqli_insert_id in separate Tabelle mit PHP

<?php 

if(isset($_POST['submit'])) { 

require 'connect.php'; 

$sql = "INSERT INTO table1 (username, password) 
    VALUES ('".$_POST["username"]."','".$_POST["password"]."')"; 

if (mysqli_query($con, $sql)) { 
    $last_id = mysqli_insert_id($con); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($con); 
} 
mysqli_close($con); 
} 

?> 
+0

id = last_insert_id() Abfrage einfügen usw.? ziemlich einfach –

Antwort

2

die Variable aus der zuletzt eingefügten ID verwenden aus der (erfolgreichen) Abfrage in die anderen Tabelle einfügen.

Dies ist eine grobe Skizze, da wir nicht wissen, was das DB-Schema für Ihre zweite Tabelle ist und ist ziemlich unklar, so müssen Sie den Rest tun (ausfüllen).

if (mysqli_query($con, $sql)) { 
    $last_id = mysqli_insert_id($con); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 

    $sql = mysqli_query($con, "INSERT INTO table2 (col) VALUES ('$last_id')") 
      or die(mysqli_error($con)); 
} 

Passwörter

Ich habe auch bemerkt, dass Sie Passwörter im Klartext zu speichern werden. Dies wird nicht empfohlen.

Verwenden eines der folgenden:

Andere Links:

Wichtige Nebenbemerkung über Säulenlänge:

Falls und wenn Sie Entscheiden Sie sich zu verwenden password_hash() oder das Kompatibilitäts-Paket (wenn PHP < 5.5) https://github.com/ircmaxell/password_compat/, ist es wichtig zu beachten, dass, wenn Ihre aktuelle Passwort-Spalte ist etwas niedriger als 60, muss geändert werden, dass (oder höher). Das Handbuch schlägt eine Länge von 255 vor.

Sie müssen die Spaltenlänge ändern und mit einem neuen Hash beginnen, damit es wirksam wird. Andernfalls wird MySQL im Hintergrund fehlschlagen.

+0

Ja, genau das brauche ich. Getestet funktioniert perfekt. Vielen Dank für zusätzliche Informationen. Ich nehme es zur Beratung. –

+0

@SergeyM. Oh toll! Freut mich zu hören, dass dies für dich gelaufen ist, * Prost und du bist willkommen * –

Verwandte Themen