Không bao giờ sử dụng nối chuỗi để truy vấn, bạn đã có cơ chế được gọi là câu lệnh chuẩn bị, chữ ký như
.query('SELECT * FROM `books` WHERE `author` = ?', ['David'])
Nó sẽ làm sạch đầu vào cho bạn và ngăn chặn một phần các cuộc tấn công sql-injection, đồng thời luôn thực hiện xác nhận các giá trị đầu vào. Và nếu bạn không muốn sử dụng ORM như typeorm
, Sequelize
, bạn có thể sử dụng knex.js
mà chỉ có thể tạo chuỗi truy vấn và quản lý hoàn toàn tương tác db