Innerbloom
@Innerbloom

Нужно обьект записать в БД MySQL, как сделать?

const mysql = require("mysql");
const express = require('express');
const app = require("request");

const url = 'https://jsonplaceholder.typicode.com/users';

const db = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'password',
    database: 'user_records'
});

async function getUsers(url) {
    const response = await fetch(url);
    const result = await response.json();
    const usersID = result.reduce((acc, item) => {
        const { id, name, username, email, address, phone } = item;
        acc.push([id, name, username,
            email, address.city, phone]);
        return acc
    }, [])
    console.log(usersID);
}


    db.connect((err) => {
        if (err) {
            console.log('Error occurred..', err)
        } else {
            console.log('MySQL Connected...')
            let values = getUsers(url);
            let query = "INSERT INTO user_records.users (id, name, username, email, city, phone) values?";
            db.query(query, [values], function (err, result) {
                if (err) {
                    console.log(err)
                } else {
                    console.log("Insert to DB" + result.rowsAffected)
                }
            })
        }
    });


Беру с сайта json api с помощью ассинхронного метода getUsers(url) добиваюсь того, что парсю его , а так же беру нужные мне данные такие как id, name username email, adress.city, phone и помещаю их в массив
[
1,
'Leanne Graham',
'Bret',
'Sincere@april.biz',
'Gwenborough',
'1-770-736-8031 x56442'
]
Далее пытаюсь записать данные в БД но что то не выходит,
typeof values - object
typeof query - string
Еще тестировал БД если после values (сюда записать данные то они заносятся в БД)

За ранее спасибо, уж че то намудрил я, уже сам запутался
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
попробуйте так
- let query = "INSERT INTO user_records.users (id, name, username, email, city, phone) values?";
+ let query = `INSERT INTO user_records.users
+   (id, name, username, email, city, phone)
+   VALUES (?, ?, ?, ?, ?, ?)
+ `;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы