I am using PDO for the first time with MySQL, just playing with it at the moment.
So far when I try to do an insert wrapped in transactions...
$this->dbh->beginTransaction();
// $sql query ran
$this->dbh->commit();
echo $this->dbh->lastInsertId();
lastInsertId() is returning 0...when I run the same query outside of a transaction, I get the proper id number returned. Is there something I am missing here?
You can get the id of the last transaction by running lastInsertId() method on the connection object($conn).
If you use php to connect to mysql you can use mysql_insert_id() to point to last inserted id.
Fetch data from a result set by calling one of the following fetch methods: To return a single row from a result set as an array or object, call the PDOStatement::fetch method. To return all of the rows from the result set as an array of arrays or objects, call the PDOStatement::fetchAll method.
You have to ask for the lastInsertId()
before you commit a transaction
Try
$this->dbh->beginTransaction();
// $sql query ran
echo $this->dbh->lastInsertId();
$this->dbh->commit();
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