Hola, porque no haces un procedimiento almacenado para crear una tabla temporal (en memoria) que te guarde todos los elementos del carrito, luego si el usuario hace la orden los datos pasan a la tabla de la bd y si no quiere eliminas la tabla
saludos