Advertisement
vitareinforce

man-seeds.php

Aug 24th, 2024
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.11 KB | None | 0 0
  1. <?php
  2.     function insertIntoDatabase($jsonArray, $tableName, $dbConnection) {
  3.         $sql = "INSERT INTO $tableName (";
  4.  
  5.         $columns = array();
  6.         $values = array();
  7.         foreach ($jsonArray as $row) {
  8.             foreach ($row as $key => $value) {
  9.                 $columns[] = $key;
  10.                 $values[] = $dbConnection->quote($value);
  11.             }
  12.         }
  13.  
  14.         $columns = array_unique($columns);
  15.  
  16.         $sql .= implode(', ', $columns) . ") VALUES ";
  17.  
  18.         $rows = array();
  19.         foreach ($jsonArray as $row) {
  20.             $rowValues = array();
  21.             foreach ($columns as $column) {
  22.                 $rowValues[] = $dbConnection->quote($row[$column]);
  23.             }
  24.             $rows[] = "(" . implode(', ', $rowValues) . ")";
  25.         }
  26.  
  27.         $sql .= implode(', ', $rows);
  28.  
  29.         $stmt = $dbConnection->prepare($sql);
  30.         $stmt->execute();
  31.  
  32.         if ($stmt->errorCode() !== '00000') {
  33.             die("Error: " . $stmt->errorInfo()[2]);
  34.         }
  35.  
  36.         return $dbConnection->lastInsertId();
  37.     }
  38.  
  39.     $dbHost = 'changeme';
  40.     $dbUsername = 'changeme';
  41.     $dbPassword = 'changeme';
  42.     $dbName = 'changeme';
  43.  
  44.     $dsn = "mysql:host=$dbHost;dbname=$dbName";
  45.     $options = [
  46.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  47.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  48.         PDO::ATTR_EMULATE_PREPARES   => false,
  49.     ];
  50.     $dbConnection = new PDO($dsn, $dbUsername, $dbPassword, $options);
  51.  
  52.     function insertData($tableName, $jsonData, $dbConnection) {
  53.         $insertId = insertIntoDatabase($jsonData, $tableName, $dbConnection);
  54.         return $insertId;
  55.     }
  56.  
  57.     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  58.         $requestData = json_decode(file_get_contents('php://input'), true);
  59.         $tableName = $requestData['table_name'];
  60.         $jsonData = $requestData['json_data'];
  61.         $insertId = insertData($tableName, $jsonData, $dbConnection);
  62.         echo json_encode(array('insert_id' => $insertId));
  63.     } else {
  64.         echo json_encode(array('error' => 'Invalid request method'));
  65.     }
  66. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement