Non usare mai la concatenazione di stringhe per le query, hai già un meccanismo chiamato istruzione preparata, firma come
.query('SELECT * FROM `books` WHERE `author` = ?', ['David'])
Sanificherà l'input per te e preverrà parzialmente gli attacchi di sql-injection, inoltre eseguirà sempre la convalida dei valori di input. E se non vuoi usare ORM come typeorm
, Sequelize
, puoi usare knex.js
che può solo creare stringhe di query e gestire completamente l'interazione db