I have used prepared statement to insert an order into an orders table but now I want to insert the order items into the order items table based on the last ID inserted in the orders table:
if (isset($_POST['process'])) {
$order_name = $_POST['order_name'];
//create initial order
$stmt = $conn2->prepare("INSERT INTO orders (order_name) VALUES (?)");
$stmt->bind_param('s', $order_name);
$stmt->execute();
//this gets the most recent auto incremented ID from the database - this is the order_id we have just created
$order_id = mysql_insert_id();
//loop over all of our order items and add to the database
foreach ($_SESSION['order'] as $item) {
What is equivalent to mysql_insert_id();
using prepared statement?
If you're using PDO, it's PDO::lastInsertId()
. So if your database handle is called $link
:
$order_id = $link->lastInsertId();
If you're using MySQLi, it's mysqli::$insert_id
or mysqli_insert_id()
:
$order_id = $link->insert_id;
You can try $stmt->insert_id
to get inserted id
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