sql >> Database >  >> RDS >> Mysql

Node-mysql query invoegen met twee waarden?

Wat je verkeerd doet, is dat je probeert je twee waarden samen te voegen tot een enkele string en die string te laten vervangen door je enkele ? . Als je een enkele ? . gebruikt , moet u een object doorgeven waarvan de parameters van het object hetzelfde zijn als de databaseveldnamen.

Ik zou het als volgt doen:

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

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

});

Je kunt het ook zo doen met een array in plaats van een object:

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

});

of zoals dit:

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

});

Maar ik vind het gebruik van een enkele ? samen met een object is beter leesbaar.



  1. cx_Oracle en het gegevensbronparadigma

  2. Hoe een CSV-bestand in de MySQL-tabel te importeren

  3. Een label gebruiken in een hebbende clausule in sqlachemy

  4. SQL Developer-fout Kan Java Virtual Machine niet vinden