<?php
$arr_data = [
array(
"stock_id" => 846,
"order_count" => 2,
"order_price" => 22,
"total" => 44,
"profit" => 2
),
array(
"stock_id" => 849,
"order_count" => 1,
"order_price" => 54,
"total" => 54,
"profit" => 53
),
array(
"stock_id" => 850,
"order_count" => 5,
"order_price" => 100,
"total" => 500,
"profit" => 40
)
];
$column_name_list = array_keys($arr_data[array_key_first($arr_data)]);
$column_name_list = implode(", ", $column_name_list);
$toBind = array();
$sql_val = [];
foreach($arr_data as $index => $row) {
$params = array();
foreach($row as $col_name => $value) {
$param = ":".$col_name . $index;
$params[] = $param;
$toBind[$param] = $value;
}
$sql_values[] = "(" . implode(", ", $params) .")";
}
$sql_values = implode(", ", $sql_values);
$query = "INSERT INTO order_list ($column_name_list) VALUES $sql_values";
$stmt = $pdo->prepare($query);
foreach($toBind as $data => $value) {
$stmt->bindValue($data, $value);
}
$stmt->execute();
$query = "SELECT * FROM order_list";
$query = $pdo->prepare($query);
$query->execute();
$start = microtime(true);
$response = $query->fetchAll(PDO::FETCH_ASSOC);
var_dump($response);