Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function insertIntoDatabase($jsonArray, $tableName, $dbConnection) {
- $sql = "INSERT INTO $tableName (";
- $columns = array();
- $values = array();
- foreach ($jsonArray as $row) {
- foreach ($row as $key => $value) {
- $columns[] = $key;
- $values[] = $dbConnection->quote($value);
- }
- }
- $columns = array_unique($columns);
- $sql .= implode(', ', $columns) . ") VALUES ";
- $rows = array();
- foreach ($jsonArray as $row) {
- $rowValues = array();
- foreach ($columns as $column) {
- $rowValues[] = $dbConnection->quote($row[$column]);
- }
- $rows[] = "(" . implode(', ', $rowValues) . ")";
- }
- $sql .= implode(', ', $rows);
- $stmt = $dbConnection->prepare($sql);
- $stmt->execute();
- if ($stmt->errorCode() !== '00000') {
- die("Error: " . $stmt->errorInfo()[2]);
- }
- return $dbConnection->lastInsertId();
- }
- $dbHost = 'changeme';
- $dbUsername = 'changeme';
- $dbPassword = 'changeme';
- $dbName = 'changeme';
- $dsn = "mysql:host=$dbHost;dbname=$dbName";
- $options = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
- PDO::ATTR_EMULATE_PREPARES => false,
- ];
- $dbConnection = new PDO($dsn, $dbUsername, $dbPassword, $options);
- function insertData($tableName, $jsonData, $dbConnection) {
- $insertId = insertIntoDatabase($jsonData, $tableName, $dbConnection);
- return $insertId;
- }
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- $requestData = json_decode(file_get_contents('php://input'), true);
- $tableName = $requestData['table_name'];
- $jsonData = $requestData['json_data'];
- $insertId = insertData($tableName, $jsonData, $dbConnection);
- echo json_encode(array('insert_id' => $insertId));
- } else {
- echo json_encode(array('error' => 'Invalid request method'));
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement