Attempting to insert values into query from array. I'm getting the below output array that is written to a .txt. Am I inserting the date correctly? The date field in structure is datetime.

Array readout for $_SESSION["shopping_cart"]


array (
  0 => 
  array (
    'product_id' => '362',
    'product_name' => 'Chopper',
    'product_price' => '0.50',
    'product_idmember' => '82',
    'product_quantity' => 12,
  ),
)

Insert Query


	$order_id = $connect->lastInsertId();

    $datetime = new DateTime();
    $date = $datetime->format('Y-m-d');

	foreach($_SESSION["shopping_cart"] as $keys => $values)
	{
$order_item_data = array(
	':order_id'		=>	$order_id,
            ':order_plan'	=>	$values["product_id"],
	':order_item_name'	=>	$values["product_name"],
            ':order_item_price'	=>	$values["product_price"],
            ':order_idmember'	=>	$values["product_idmember"],
	':order_item_quantity' => $values["product_quantity"],
            ':date'	=> $date
		);



		$query = "
		INSERT INTO order_item
		(order_id, order_plan, order_item_name, order_item_quantity, order_item_price, order_idmember, date)
		VALUES (:order_id, :order_plan, :order_item_name, :order_item_quantity, :order_item_price, :order_idmember, :date)
		";

		$statement = $connect->prepare($query);

		$statement->execute($order_item_data);
	}

    Same first questions as ever: have you done any debugging? What were the results? Any error messages?

      If your date column is type datetime, you may need to add the time to the date when you assign $date.

        Solved. It was a number format issue with price.

          7 days later
          Write a Reply...