最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

SQL语法错误分页与Sequelize,但工程第一页上?

IT培训 admin 2浏览 0评论

SQL语法错误分页与Sequelize,但工程第一页上?

我在开发新的和有我由googleing洙多解决了很多很多问题。但是这一次似乎是如此愚蠢,我甚至不能找到有相同问题的人......也许你可以看到错误?

我使用的是Sequelize和MySQL数据库的NodeJS。我一个bulding的网站的就业市场,并希望进行分页的作业。我有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 ===未定义。 ?但是,当我从/工作变化的URL /工作页面= 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之前添加+的数值+req.query.page

SQL语法错误分页与Sequelize,但工程第一页上?

我在开发新的和有我由googleing洙多解决了很多很多问题。但是这一次似乎是如此愚蠢,我甚至不能找到有相同问题的人......也许你可以看到错误?

我使用的是Sequelize和MySQL数据库的NodeJS。我一个bulding的网站的就业市场,并希望进行分页的作业。我有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 ===未定义。 ?但是,当我从/工作变化的URL /工作页面= 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之前添加+的数值+req.query.page

发布评论

评论列表 (0)

  1. 暂无评论