Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada cara untuk mengirim array json ke php sisi server dan memasukkan nilainya ke dalam tabel?

Anda tidak perlu memanggil json_decode() dua kali. Anda sudah memecahkan kodenya saat melakukannya

$decoded = json_decode($json);

jadi Anda tidak perlu menggunakan json_decode($item) saat memasukkan.

Gunakan true argumen kedua untuk json_decode() sehingga membuat array asosiatif alih-alih objek untuk setiap item. Kemudian Anda dapat meneruskan array itu ke $p->execute() secara langsung. Anda juga perlu menggunakan $decoded['tab'] bukannya $decoded->tab .

<?php

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header("Access-Control-Allow-Headers: X-Custom-Header, Origin, Content- 
Type , Authorisation , X-Requested-With");
header("Content-Type: application/json; charset=UTF-8 ");
$json = file_get_contents('php://input');
$decoded = json_decode($json, true);

$tab = $decoded['tab'];
function conn()
{
    $dbhost = "localhost";
    $user = "root";
    $pass = "";
    $db = "smart";
    $conn = new PDO('mysql:host=localhost;dbname=smart', $user, $pass);
    return $conn;
}
$db = conn();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$p = $db->prepare("INSERT INTO regrouper (refCommande, refProduit, prixP, qteP)
                   VALUES(:refCmd,:refProduit,:prix,qte)");
foreach ($tab as $item) {
    $p->execute($item);
}
echo json_encode(true);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqldump membuang tabel sistem yang tidak diinginkan

  2. MySQL mengambil catatan terbaru untuk Grup

  3. Bagaimana saya bisa menyimpan dan mengambil gambar dari database MySQL menggunakan PHP?

  4. Pengkodean string menantang Python

  5. Bagaimana mengkonversi dari tanggal ke unix_timestamp menggunakan javascript