Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सर्वर साइड PHP पर एक जेसन सरणी भेजने और किसी तालिका में इसके मान डालने के लिए वैसे भी है?

आपको json_decode() call पर कॉल करने की आवश्यकता नहीं है दो बार। जब आपने किया था तब आपने इसे पहले ही डीकोड कर लिया था

$decoded = json_decode($json);

इसलिए आपको json_decode($item) . का उपयोग करने की आवश्यकता नहीं है डालते समय।

true का प्रयोग करें दूसरा तर्क json_decode() ताकि यह प्रत्येक आइटम के लिए किसी ऑब्जेक्ट के बजाय एक सहयोगी सरणी बना सके। फिर आप उस सरणी को $p->execute() . पर पास कर सकते हैं सीधे। आपको $decoded['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. MySQL पर एक उपयोगकर्ता बनाना

  2. तालिका '/tmp/#sql_18b4_0.MYI' के लिए गलत कुंजी फ़ाइल इसे सुधारने का प्रयास करें

  3. AJAX कॉल के माध्यम से टेक्स्ट क्षेत्र में टेक्स्ट लोड करें

  4. एक कस्टम MySQL समारोह Haversine दूरी की गणना करने के लिए?

  5. MySQL में डेटाबेस का नाम कैसे बदलें