'Multiple SQL querys in NodeJS

how would i make multiple MySQL querys in NodeJS, in the following code con = mysql.createConnection(...)

con.query(`SELECT * FROM BRUGERE WHERE username = ${username}`, function(err, data) {
    console.log("Username in use");
});

console.log("Query Done");

con.query(`INSERT INTO users(username, password, salt, token) VALUES(${username}, ${password}, ${salt}, ${token});`, function(err, data) {
    console.log("Success");
});

The output of this code is "Query Done" but it never gets down to console.log "Success" and it didn't insert anything to the database.



Solution 1:[1]

I would wrap both of these queries in promises to help get what you are trying to achieve.

const query1 = new Promise((resolve, reject) => {
    con.query(`SELECT * FROM BRUGERE WHERE username = ${username}`, function(err, data) {
        console.log("Username in use");
        resolve(true)
    });
})

await query1;
console.log("Query Done");

const query2 = new Promise((resolve, reject) => {
    con.query(`INSERT INTO users(username, password, salt, token) VALUES(${username}, ${password}, ${salt}, ${token});`, function(err, data) {
        console.log("Success");
        resolve(true)
    })
})

await query2;

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 WeLoki1