Nigdy nie używaj konkatenacji ciągów do zapytań, masz już mechanizm o nazwie przygotowana instrukcja, podpis taki jak
.query('SELECT * FROM `books` WHERE `author` = ?', ['David'])
Oczyści dane wejściowe i częściowo zapobiegnie atakom wstrzykiwania sql, a także zawsze przeprowadza walidację wartości wejściowych. A jeśli nie chcesz używać ORM jak typeorm
, Sequelize
, możesz użyć knex.js
który może tylko tworzyć ciągi zapytań i w pełni zarządzać interakcją z bazą danych