Salvar JSON no MySQL

Tenho o json com a estrutura abaixo e não estou conseguindo montar o foreach para salvar no MySQL.
Por favor, alguém poderia me ajudar?
Array
(
[error] =>
[message] => Groups listed
[groups] => Array
(
[0] => Array
(
[id] => 55649900033-1468427905@g.us
[subject] => Plantão NSA
)

        [1] => Array
            (
                [id] => 556492000929-1596496201@g.us
                [subject] => 2ºPeríodo
            )

        [2] => Array
            (
                [id] => 556496400039-1417460653@g.us
                [subject] => Oscar e Eronides
            )

        [3] => Array
            (
                [id] => 120363097790000850@g.us
                [subject] => Teste
            )

        [4] => Array
            (
                [id] => 1203630760000565@g.us
                [subject] => Aguas
            )

        [5] => Array
            (
                [id] => 120363030600009324@g.us
                [subject] => Brasil
            )

        [6] => Array
            (
                [id] => 120363076610003071@g.us
                [subject] => animadores
            )

        [7] => Array
            (
                [id] => 5516981403355-1385000454@g.us
                [subject] => Família 
            )

        [8] => Array
            (
                [id] => 555199430006-1578000436@g.us
                [subject] => Help 🤝🏼
            )

        [9] => Array
            (
                [id] => 556490000368-1571600086@g.us
                [subject] => Ministros 
            )

        [10] => Array
            (
                [id] => 120363000020971548@g.us
                [subject] => DEVELOPERS 
            )

        [11] => Array
            (
                [id] => 556499512006-1400000630@g.us
                [subject] => familia borges !
            )

        [12] => Array
            (
                [id] => 556499073969-1560009407@g.us
                [subject] => FORMAÇÃO
            )

        [13] => Array
            (
                [id] => 556499851778-1421000604@g.us
                [subject] => São Tomé! 
            )

        [14] => Array
            (
                [id] => 556281715146-140100069@g.us
                [subject] => Família de Ana e Oswaldo
            )

        [15] => Array
            (
                [id] => 12036304830007003@g.us
                [subject] => Brasil
            )

        [16] => Array
            (
                [id] => 556499073969-100050257@g.us
                [subject] => Formação Liturgia - PSB
            )

        [17] => Array
            (
                [id] => 556195562618-160000311@g.us
                [subject] => API Grupo
            )

        [18] => Array
            (
                [id] => 1203630291000427@g.us
                [subject] => Brasil
            )

        [19] => Array
            (
                [id] => 12036304687410009@g.us
                [subject] => São Bento
            )

        [20] => Array
            (
                [id] => 12036304900000651@g.us
                [subject] => Help - Comun.
            )
    )

)

https://dev.mysql.com/doc/refman/8.0/en/json.html


Obrigado amigo,
muitas e boas informações, mas o que estou precisando é mais do lado do PHP para preparar estes dados recebidos e fazer o inserte ou update no BD

Olá, segue o código para inserir no banco de dados este array. Lembre-se de inserir o seu array completo na variável $data, preencher as variáveis de conexão com o banco de dados e no (INSERT INTO “nome tabela”) inserir o nome da tabela do seu banco de dados.

  <?php

    // Conexão com o banco de dados
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    $conn = mysqli_connect($servername, $username, $password, $dbname);

    // Verifica a conexão
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }

    // Array com os dados
    $data = array(
        "error" => "",
        "message" => "Groups listed",
        "groups" => array(
            array(
                "id" => "55649900033-1468427905@g.us",
                "subject" => "Plantão NSA"
            ),
            array(
                "id" => "556492000929-1596496201@g.us",
                "subject" => "2ºPeríodo"
            ),
            array(
                "id" => "556496400039-1417460653@g.us",
                "subject" => "Oscar e Eronides"
            ),
            array(
                "id" => "120363097790000850@g.us",
                "subject" => "Teste"
            ),
            array(
                "id" => "1203630760000565@g.us",
                "subject" => "Aguas"
            ),
            array(
                "id" => "120363030600009324@g.us",
                "subject" => "Brasil"
            )
             // É necessário continuar o array aqui com o resto das informações!!!
        )
    );

    // Loop através do array para salvar os dados no banco de dados
    foreach ($data["groups"] as $group) {
        $id = mysqli_real_escape_string($conn, $group["id"]);
        $subject = mysqli_real_escape_string($conn, $group["subject"]);
        $sql = "INSERT INTO groups (id, subject) VALUES ('$id', '$subject')";

        if (mysqli_query($conn, $sql)) {
            echo "Record inserted successfully";
        } else {
            echo "Error inserting record: " . mysqli_error($conn);
        }
    }

    // Fecha a conexão com o banco de dados
    mysqli_close($conn);

    ?>
1 Curtida

Obrigado, amigo
Vou trabalhar aqui