2016-07-22 14 views
1

Ich entschuldige mich, wenn diese Frage zuvor gestellt wurde, aber ich konnte nichts dergleichen finden.Holen Sie die ID des eingefügten Datensatzes nach dem Einfügen

Wenn der Benutzer auf Senden klickt, wird ein neuer Datensatz in meine Datenbank eingefügt und die ID wird automatisch um 1 erhöht. Wenn beispielsweise der neueste Datensatz in der Datenbank eine ID von 56 hätte, hätte der neue Datensatz eine ID von 57.

Nachdem der Datensatz in die Datenbank eingefügt wurde, wie leite ich sie auf eine Seite um, die eine URL-Variable der ID des neuen Datensatzes enthält? Zum Beispiel: example.com?id=57

<form method="post"> 
    <input type="text" name="text"> 
    <input type="submit" name="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 
    $stmt = $con->prepare("INSERT into database (text) VALUES (:text)"); 
    $stmt->bindParam(':text', $_POST['text']); 
    $stmt->execute(); 
    header('Location: example.com?ID='); // how do I get the ID of the record which has just been inserted? 
} 
?> 
+0

Verwendung letzte Einsatz-ID http://php.net/manual/en/pdo .lastinsertid.php –

Antwort

2

letzten Einsatz id Get mit $con->lastInsertId; und geht in url

$stmt->execute(); 
$id=$con->lastInsertId(); ;// get last id 
header('Location: example.com?ID=$id'); 
+0

Danke, ich werde das jetzt versuchen –

+1

last_insert_id benötigt keine Transaktion, da der zurückgegebene Wert immer die ID für die aktuelle Verbindung ist – e4c5

Verwandte Themen