Что эквивалентно mysql_insert_id (); используя подготовленное заявление?

Я использовал подготовленный оператор, чтобы вставить заказ в таблицу заказов, но теперь я хочу вставить элементы заказа в таблицу позиций заказа на основе последнего идентификатора, вставленного в таблицу заказов:

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) { 

Что эквивалентно mysql_insert_id(); используя подготовленное заявление?

Если вы используете PDO, это PDO::lastInsertId() . Поэтому, если ваш дескриптор базы данных называется $link :

 $order_id = $link->lastInsertId(); 

Если вы используете MySQLi, это mysqli::$insert_id или mysqli_insert_id() :

 $order_id = $link->insert_id; 

Вы можете попробовать $stmt->insert_id чтобы вставить идентификатор