Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta de inserção Node-mysql com dois valores?


O que você está fazendo de errado é que você está tentando concatenar seus dois valores em uma única string e substituir essa string em seu único ? . Se você estiver usando um único ? , você precisa passar um objeto onde os parâmetros do objeto são os mesmos que os nomes dos campos do banco de dados.

Eu faria assim:
let payload = {
    UsernameDB: data.RegUsername,
    PasswordDB: data.Regpassword
};

connection.query("INSERT INTO Codify SET ?", payload, function(err, rows) {

});

Você também pode fazer assim com um array em vez de um objeto:
let sql = "INSERT INTO Codify (UsernameDB, PasswordDB) VALUES (?, ?)";
connection.query(sql, [ data.RegUsername, data.Regpassword ], function(err, rows) {

});

ou assim:
let sql = "INSERT INTO Codify SET UsernameDB = ?, PasswordDB = ?";
connection.query(sql, [ data.RegUsername, data.Regpassword ],  function(err, rows) {

});

Mas eu acho usando um único ? junto com um objeto é mais legível.