Nunca use la concatenación de cadenas para realizar consultas, ya tiene un mecanismo llamado declaración preparada, firma como
.query('SELECT * FROM `books` WHERE `author` = ?', ['David'])
Desinfectará la entrada por usted y evitará parcialmente los ataques de inyección de sql, también siempre validará los valores de entrada. Y si no quieres usar ORM como typeorm
, Sequelize
, puede usar knex.js
que solo puede crear cadenas de consulta y administrar completamente la interacción de db