javascript - 使用导致错误 SQL 语法的变量添加限制

标签 javascript mysql sequelize.js

我想用变量动态添加 limit,但它给了我一个错误。像这样:
路线/api/post.js

..
// req.params.limit = 3
const limit = req.params.limit

models.post
   .findAll({
      subQuery: false,
      order: [["createdAt", "DESC"]],
      include: ["post_picture", "tags"],
      limit
   })
..
给了我一个错误
Unhandled rejection SequelizeDatabaseError: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the 
right syntax to use near ''3'' at line 1
如果我手动设置 limit: 3 它可以工作,但这将是分页的噩梦。这是一个错误还是我做错了什么?

最佳答案

limit 转换为 number,因为它的类型是 string

const limit = parseInt(req.params.limit);

关于javascript - 使用导致错误 SQL 语法的变量添加限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62856647/

相关文章:

PHP echo 禁用我的按钮?

php - 如何将 Json 数据转换为真实数据 android

php - 新数据库导入,mysql_insert_id() 返回 0

mysql - 如何在express.js中使用mysql将n个输入存储到一个数组中

javascript - AJAX 函数式 Javascript 练习

javascript - Knockout.js 仅在值更改时启用保存

javascript - 出现错误 "Objects are not valid as React child"

node.js - 如何使用api从数据库中获取数据?

node.js - 使用 Sequelize 与 Node 和 Express 批量插入

javascript - 单击时上下滑动 Div