Я использовал подготовленный оператор, чтобы вставить заказ в таблицу заказов, но теперь я хочу вставить элементы заказа в таблицу позиций заказа на основе последнего идентификатора, вставленного в таблицу заказов:
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
чтобы вставить идентификатор