Передать данные из js в базу данных

Мне необходимо передать массив js в базу данных. Для этого мне нужно ( я совсем не знаю как ) сделать запрос и так же цикл для добавления этого массива. Я знаю что здесь нет pdo и т.п., пока оно не нужно, т.к. я просто изучаю всё это дело, и проблема состоит в другом.

var xhr = new XMLHttpRequest();         
        xhr.open('POST', '/js/func');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');          
        xhr.send(JSON.stringify(cart));
        xhr.onreadystatechange = function()
        {
          if (this.readyState == 4) 
          {
            if (this.status == 200)
            {
              console.log(xhr.responseText);
            }
            else
            {
              console.log('ajax error');
            }
          }
        };

И вот мой php.

<?php

require_once '../vendor/connect.php';

print_r($_POST);

?>

Благодаря этому коду, я могу увидеть в консольке следующее:

Array
(
    [{"6":{"name":"One","price":"385","src":"uploads/one_png","quantity":1,"id":"6"},"8":{"name":"Second","price":"435","src":"uploads/second_png","quantity":1,"id":"8"}}] => 
)

Ответы (1 шт):

Автор решения: pgood

Тут подправил Content-type и вместо cart вставил данные из вашего примера

var xhr = new XMLHttpRequest();
xhr.open('POST', '');
xhr.setRequestHeader("Content-type", "application/json");
xhr.send(JSON.stringify([{"6":{"name":"One","price":"385","src":"uploads/one_png","quantity":1,"id":"6"},"8":{"name":"Second","price":"435","src":"uploads/second_png","quantity":1,"id":"8"}}]));
xhr.onreadystatechange = function () {
    if (this.readyState == 4) {
        if (this.status == 200) {
            console.log(xhr.responseText);
        }
        else {
            console.log('ajax error');
        }
    }
};

Вот пример добавления данных в БД MySql, также есть ньюанс в обработке полученных данных в формате JSON

if($_SERVER['REQUEST_METHOD'] === 'POST'
    && ($strJson = file_get_contents('php://input'))
    && ($arRequest = json_decode($strJson,true))
){
    $mysqli = new mysqli('host','username','password','database_name');
    $query = "INSERT INTO `имя_таблицы_в_БД` (`name`, `price`, `src`, `quantity`, `id`) VALUES(?, ?, ?, ?, ?)";
    $statement = $mysqli->prepare($query);
    $statement->bind_param('sssii', $name, $price, $src, $quantity, $id);

    foreach($arRequest[0] as $arItem){
        $name = $arItem['name'];
        $price = $arItem['price'];
        $src = $arItem['src'];
        $quantity = $arItem['quantity'];
        $id = $arItem['id'];
        if(!$statement->execute()){
            throw new \Exception('Error : ('. $mysqli->errno .') '. $mysqli->error);
        }
    }

    $statement->close();
}
→ Ссылка