間違っているのは、2つの値を1つの文字列に連結し、その文字列を1つの?
。単一の?
を使用している場合 、オブジェクトのパラメータがデータベースフィールド名と同じであるオブジェクトを渡す必要があります。
私はこのようにします:
let payload = {
UsernameDB: data.RegUsername,
PasswordDB: data.Regpassword
};
connection.query("INSERT INTO Codify SET ?", payload, function(err, rows) {
});
オブジェクトの代わりに配列を使用して、このようにすることもできます:
let sql = "INSERT INTO Codify (UsernameDB, PasswordDB) VALUES (?, ?)";
connection.query(sql, [ data.RegUsername, data.Regpassword ], function(err, rows) {
});
またはこのように:
let sql = "INSERT INTO Codify SET UsernameDB = ?, PasswordDB = ?";
connection.query(sql, [ data.RegUsername, data.Regpassword ], function(err, rows) {
});
しかし、私は単一の?
を使用しているのを見つけました オブジェクトと一緒に読みやすくなります。