This question already has answers here:
mysqli_insert_id: What if someone inserts another row just before I call this?
(2 answers)
Closed 6 years ago.
is it safe to use mysqli_insert_id() when the database is heavily used and more than one id maybe inserted in the same time, or it will get only the id that inserted by a query from this user..
mysqli_insert_id() is specific to the database connection , it returns the ID of the row which you inserted most recently.
Related
This question already has answers here:
How can I make sure that PDO's lastInsertId() is not that of another simultaneous insert?
(2 answers)
can I trust mysql_insert_id() to return correct value, multithreading paranoia
(2 answers)
Closed 8 years ago.
in PHP if I use
$last_id = $db->lastInsertId();
The variable $last_id does will get the value of the last row I've inserted in that instance or the latest row of the entire db?
if there are many users that connect and update database at the same time, the last id that I need in my application, will probably not fill the same as the latest of entire db.
Thanks in advance for response.
$last_id = $db->lastInsertId(); returns last inserted id for this DB conection.remember PDO will always return you the last ID inserted by the current active database connection.
This question already has answers here:
CodeIgniter activerecord, retrieve last insert id?
(11 answers)
Closed 8 years ago.
This is PHP / CodeIgniter / MySQL
The only way I can think of is to do the insert ($this->db->insert(...)), and then immediatly after, run another query to find the record again.
I'm hoping there is something (which seems a bit more efficient to me) that returns the primary key (or something) of the newly added record.
For codeigniter
$this->db->insert_id()
Have a look at here http://ellislab.com/codeigniter/user_guide/database/helpers.html and the first function is $this->db->insert_id();
This also works with activerecord inserts.
or you can do
$last_insert_id = $this->db->call_function('insert_id');
This question already has answers here:
How to test if a MySQL query was successful in modifying database table data?
(5 answers)
Closed 1 year ago.
I created function that delete some data from my database. This is part of it:
mysqli_query($con, "DELETE FROM appsdata WHERE ownerID=123");
But I want to check how many rows were deleted. Mysql_query returns always true, no matter if something was deleted :/
You can use mysqli_affected_rows:
mysqli_affected_rows($mysqli_link);
or
$mysqli->affected_rows
http://php.net/manual/en/mysqli.affected-rows.php
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
PHP: how to get last inserted ID of a table?
I use mysql_query() in PHP to insert a new record in my Database.
It will auto generate a row, with a user Id, can I use the result to get that Id?
mysql_insert_id()
Have you considered upgrading to PDO?
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Is there a way to return the id of a row that was just created in MySQL with PHP?
hi, i have an inset command such as
insert (name) values($name);
where i have id column as outoincrement how can i get the id of the inserted record after inserting directly
If you are working with mysql_* function, you'll have to use mysql_insert_id() (quoting) :
Retrieves the ID generated for an
AUTO_INCREMENT column by the
previous query (usually INSERT).
With mysqli, you'll use mysqli::insert_id().
And, with PDO, you'll call PDO::lastInsertId().
mysql_query("Your query here");
$last_id = mysql_insert_id();