Javascript 使用Sequelize分页时出现SQL语法错误,但可在第一页使用?

Javascript 使用Sequelize分页时出现SQL语法错误,但可在第一页使用?,javascript,mysql,node.js,pagination,sequelize.js,Javascript,Mysql,Node.js,Pagination,Sequelize.js,我是一个新的开发人员,有很多问题我都是通过谷歌搜索解决的。但这一个似乎是如此愚蠢,我甚至找不到有同样问题的人。。。也许你能看到错误 我正在使用带有Sequelize和MySQL数据库的NodeJS。我正在为一个就业市场建立一个网站,并希望对这些工作进行分页。我的数据库里现在有6份工作 //PAGINATION Function const paginate = ({ page, pageSize }) => { const offset = page * pageSize;

我是一个新的开发人员,有很多问题我都是通过谷歌搜索解决的。但这一个似乎是如此愚蠢,我甚至找不到有同样问题的人。。。也许你能看到错误

我正在使用带有Sequelize和MySQL数据库的NodeJS。我正在为一个就业市场建立一个网站,并希望对这些工作进行分页。我的数据库里现在有6份工作

//PAGINATION Function
const paginate = ({ page, pageSize }) => {
    const offset = page * pageSize;
    const limit = offset + pageSize;

    return {
        offset,
        limit
    };
};


// JOBSPAGE /jobs
exports.jobs = function (req, res) {
    let page = 1;
    let pageSize = 2;

    Job.findAll({ offset: page, limit: pageSize })
    .then(jobs => {
        paginate({page, pageSize}),
        res.render("admin/jobs", {jobs, page, pageSize});
    })
    .catch(err => {
        console.log(err);
        res.redirect("/admin");
    });
};
问题是,当req.query.page==undefined时,我的代码适用于第一页。但是,当我将url从/jobs更改为/jobs?page=1时,我从控制台得到以下信息:

Executing (default): 
SELECT
    `id`,
    `title`,
    `description`,
    `location`,
    `createdAt`,
    `updatedAt`
FROM
    `jobs` AS `job`
LIMIT '1', 2;
{ 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 ''1', 2' at line 1

我错过了什么?非常感谢你的帮助

LIMIT
接收一个整数作为值,如果您检查错误,第一个值是一个字符串
'1'
我猜是直接从
req.query.page
获取的值。page只需在前面为数值
+req.query.page
LIMIT
接收一个整数作为值,如果您检查错误,第一个值是一个字符串
'1'
我猜是直接来自
req.query.page
的值,只需在前面添加
+
数值
+req.query.page

谢谢!!这解决了我的问题:D第一页不起作用,但我只是这样做了,然后它就起作用了:
let page;如果(req.query.page==undefined){page=0;}否则{page=+req.query.page;}
thaaan非常感谢你!!这解决了我的问题:D第一页不起作用,但我只是这样做了,然后它就起作用了:
let page;如果(req.query.page==未定义){page=0;}否则{page=+req.query.page;}