sql >> Base de Datos >  >> RDS >> Mysql

¿Consulta de inserción de Node-mysql con dos valores?

Lo que está haciendo mal es que está tratando de concatenar sus dos valores en una sola cadena y sustituir esa cadena en su único ? . Si está utilizando un único ? , debe pasar un objeto donde los parámetros del objeto sean los mismos que los nombres de los campos de la base de datos.

Yo lo haría así:

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

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

});

También puedes hacerlo así con una matriz en lugar de un objeto:

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

});

o así:

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

});

Pero encuentro usando un solo ? junto con un objeto es más legible.