Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête d'insertion Node-mysql avec deux valeurs ?

Ce que vous faites de mal, c'est que vous essayez de concaténer vos deux valeurs en une seule chaîne et que cette chaîne est remplacée dans votre seul ? . Si vous utilisez un seul ? , vous devez transmettre un objet où les paramètres de l'objet sont les mêmes que les noms de champ de la base de données.

Je le ferais comme ceci :

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

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

});

Vous pouvez également le faire comme ceci avec un tableau au lieu d'un objet :

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

});

ou comme ceci :

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

});

Mais je trouve en utilisant un seul ? avec un objet est plus lisible.