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
。