The problem is that I do not know how to execute the third multiconsult, I did it this way, the first two queries if they are executed, but the third one no longer. Here the code:
<?php
if (isset($_POST['place_order'])) {
require 'php/lib-generadorID.php';
$idCarrito = mysqli_real_escape_string($ConexionBD, generarIDCARRITO());
$idSesion = mysqli_real_escape_string($ConexionBD, generarIDSESSION());
$idVenta = mysqli_real_escape_string($ConexionBD, generarIDVENTA());
$codigoVenta= mysqli_real_escape_string($ConexionBD, codigoVenta());
$order_details = "";
$detalle_venta = "";
foreach ($_SESSION["shopping_cart"] as $keys => $values) {
$sqlCart = "
INSERT INTO carrito (idCarrito,idCliente,idSesion,fechaHora,aux)
VALUES ('$idCarrito','$idCliente','$idSesion',NOW(),'1')";
$order_details .= "
INSERT INTO contenido_carrito (idCarrito,idCliente,
idSesion,idArticulo,codigoArticulo,codigoAlterno,
costo,unidades,subTotal,fechaDeRegistro,aux)
VALUES(
'$idCarrito',
'$idCliente',
'$idSesion',
'" . mysqli_real_escape_string($ConexionBD, $values["product_id"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_codArticulo"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_codAlterno"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_price"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_quantity"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_quantity"]*$values["product_price"]) . "',
NOW(),
'1'
);";
$detalle_venta .= "
INSERT INTO detalle_venta (idVenta, idArticulo, codigoArticulo,codigoAlterno,
unidades, precioDeVenta,subTotal,fechaDeRegistro, codigoVenta, aux)
VALUES(
'$idVenta',
'" . mysqli_real_escape_string($ConexionBD, $values["product_id"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_codArticulo"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_codAlterno"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_quantity"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_price"]) . "',
'" . mysqli_real_escape_string($ConexionBD, $values["product_quantity"]*$values["product_price"]) . "',
NOW(),
'$codigoVenta',
'1'
);";
mysqli_query($ConexionBD, $sqlCart); //primera consulta,insert into carrito
}
if (mysqli_multi_query($ConexionBD, $order_details) === true) {//segunda consulta, insert into contenido_carrito
while (mysqli_more_results($ConexionBD) === true) {
if (mysqli_next_result($ConexionBD) === false) {
die('Error SQL: ' . mysqli_error($ConexionBD));
}
}
} else {
die('Error SQL: ' . mysqli_error($ConexionBD));
}
/*
Aqui tengo el problema, no se llega a ejecutar esta tercera consulta, y en la base de datos no se almacena nada.
*/
if (mysqli_multi_query($ConexionBD, $detalle_venta) === true) {//tercera consulta, insert into detalle_venta
while (mysqli_more_results($ConexionBD) === true) {
if (mysqli_next_result($ConexionBD) === false) {
die('Error SQL: ' . mysqli_error($ConexionBD));
}
}
unset($_SESSION["shopping_cart"]);
echo '<script>alert("You have successfully place an order...Thank you")</script>';
echo '<script>window.location.href="venta_refacciones.php"</script>';
} else {
die('Error SQL: ' . mysqli_error($ConexionBD));
}
}//end isset
?>
I do not know how to do that part, can you guide me please?