как узнать идентификатор ранее вставленного оператора sql? - PullRequest
0 голосов
/ 29 февраля 2020

с чего бы это увеличивало $ orderid на 2 каждый раз? как это решить?

вставка информации о клиенте из формы

<?php 
session_start();
include 'db_connect.php';

$orderdate = date("Y/m/d");
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$phone = $_POST['phone'];
$city = $_POST['city'];
$address = $_POST['streetaddress'];
$bldg = $_POST['bldg'];
$floor = $_POST['floor'];
$grandTotal = $_POST['grandtotal'];


$sql="INSERT INTO orders (order_date, client_firstname, client_lastname, client_phone, client_city, client_address, client_bldg, client_floor, grandtotal) 
VALUES  ('$orderdate', '$firstname', '$lastname', '$phone', '$city', '$address', '$bldg', '$floor', '$grandTotal');";
$r=$connect->prepare($sql);
$r->execute();

вставка информации о заказе (идентификатор товара, цена товара ...)

foreach($_SESSION as $key => $values){

    if(strpos($key, "pid") == true)
    {

        $sql="select * from products LEFT JOIN category on products.category_id = category.category_id where product_id = $_SESSION[$key]";
        $result = mysqli_query($connect, $sql);
            $r = mysqli_fetch_assoc($result);

            $w = "weight";
            $w .= (string) $r['product_id'];
            $weight = $_SESSION[$w];
            $total = $r['product_price']*$weight;

        $orderItemSql ="INSERT INTO order_item (order_id, product_id, product_price, product_weight, total)
       VALUES ('1',''".$r['product_id']."', '".$r['product_price']."', '$weight','$grandTotal')";
        $g=$connect->prepare($orderItemSql);
        $g->execute();


    }

}

$order_id;
if($connect->query($sql) === true) {
   $order_id = $connect->insert_id;
   $valid['order_id'] = $order_id;  
}

$ orderid добавляет 2 числа одновременно, как бы это решить?

и $ orderItem Sql не работает, может быть, это из-за $ orderid? Я попытался вставить вместо $ orderid стандартное число в утверждении, но оно все равно не сработало. не могу понять, ваша помощь будет оценена заранее! спасибо

1 Ответ

0 голосов
/ 01 марта 2020

это сработало

$orderid = mysqli_insert_id($connect); 
...