Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có cách nào để gửi một mảng json đến php phía máy chủ và chèn các giá trị của nó vào một bảng không?

Bạn không cần gọi json_decode() hai lần. Bạn đã giải mã nó khi bạn làm

$decoded = json_decode($json);

vì vậy bạn không cần sử dụng json_decode($item) khi chèn.

Sử dụng true đối số thứ hai cho json_decode() để nó tạo một mảng kết hợp thay vì một đối tượng cho mỗi mục. Sau đó, bạn có thể chuyển mảng đó cho $p->execute() trực tiếp. Bạn cũng cần sử dụng $decoded['tab'] thay vì tab $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. Tất cả các liên kết WordPress đều chuyển hướng đến URL kép

  2. kết nối php gộp chung mysql

  3. Kết nối mysql pdo không đóng?

  4. Mysql, định hình lại dữ liệu từ dài / cao sang rộng

  5. Lệnh hướng dẫn không chính xác