Nodejs Mysql ошибка запроса - PullRequest
       2

Nodejs Mysql ошибка запроса

0 голосов
/ 28 февраля 2020

Я пытаюсь зарегистрировать моего пользователя в базе данных mysql, но появляется ошибка. Я проверил базу данных, и пользователь добавлен, но ошибка все еще здесь.

Ошибка:

throw err; // Rethrow non-MySQL errors

Мой код:

create : function(body, callback)
{
    var bind = [];

    for(prop in body) {
        bind.push(body[prop]);
    }

    let sql = `INSERT INTO users(email, firstname, lastname, password, language, currency, seed) VALUES (?, ?, ?, ?, ?, ?, ?)`;

    pool.query(sql, bind, function(err, lastId) {
        if(err) throw err
        callback(lastId);
    });
}

пул. js

const util = require('util');
const mysql = require('mysql');

const pool = mysql.createPool({
    connectionLimit: 10,
    host: '**',
    user: '**',
    password: '**',
    database: '***'
});

pool.getConnection((err, connection) => {
    if(err)
    {
        console.error("Something went wrong connecting to the database.");
    }

    if(connection) {
        connection.release();
    }
    return;
});

pool.query = util.promisify(pool.query);
module.exports = pool;

1 Ответ

0 голосов
/ 08 марта 2020

Я думаю, что есть несколько решений, которые вы можете попробовать здесь.

  • В вашем файле pool.js просто экспортируйте pool.query, а не обещанную версию
  • Окружите свой призыв к pool.query в функции create() с обещанием и разрешите обещание с помощью переменной lastId вместо использования обратного вызова
  • Используйте npm mysql2, поскольку он поставляется с оболочкой обещания: https://www.npmjs.com/package/mysql2#using -обещание-обертка

Надеюсь, что поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...