2013-05-10 10 views
7

Ich habe wenig Verwirrung über die PHP-PDO-Funktion: lastInsertID. Wenn ich es richtig verstehe, gibt es die letzte automatisch inkrementelle ID zurück, die in die Datenbank eingefügt wurde.Wie sicher ist die PHP PDO Funktion: lastInsertId?

Ich verwende diese Funktion normalerweise, wenn ich eine Abfrage ausführe, die einen Benutzer in meine Datenbank einfügt, wenn ich die Funktionalität zum Registrieren eines Benutzers erstelle.

Meine Frage ist, dass sagen, ich habe hundert Leute auf einer Seite zum Beispiel registrieren. Und möglicherweise trifft ein Benutzer die Schaltfläche "Registrieren" eine Millisekunde nach einem anderen Benutzer. Gibt es dann eine Chance, dass diese Funktion lastInsertId die ID eines anderen Benutzers zurückgibt, der sich gerade kurz vorher registriert hat?

Kann sein, was ich versuche zu fragen, ist der Server eine Anfrage zu einer Zeit und gehen Sie durch eine PHP-Datei nacheinander?

Bitte lassen Sie mich darüber wissen.

Vielen Dank.

Antwort

7

Perfekt sicher. Es gibt keine Wettlaufbedingung. Es gibt nur die letzte eingefügte ID aus dem PDO-Objekt zurück, das die Einfügung vorgenommen hat.

7

Es ist sicher - es garantiert Ihnen, einen Wert von der aktuellen Verbindung zurückzugeben.

+0

Großartig. Danke vielmals. –