I am doing a signup form with an INSERT
SQL query using PDO. After this INSERT, I want to extract the userid
(auto incrementing, primary key) that was just created, and INSERT
it into another table (a "confirmation code" table)
But how can I make sure that this userid is not that of a second user who registered 1/1000th of a second later that the first user?
Should I find some way of locking the table? Should I use transactions?
lastInsertId()
returns the identifier of the last row inserted on that connection, so concurrent users (with different connections to the database) will not interfere.
You can avoid this by doing a select by the email or some unique field. That will guarantee you get the correct user id.
For example:
select id from user_table where email = '[email protected]' limit 1;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With