mysql - 在 Node JS Handlebars JS MySql 中发送值

标签 mysql node.js handlebars.js

我目前有两个疑问。

router.get('/:id_school/:grade', isLoggedIn, async (req, res) => {
  const { id_school, grade } = req.params;
  const { id_enrollment } = req.body;
  const enrollment = await db.query('SELECT * FROM enrollment where enrollment.id_school = ?', [id_school]);

  const subjects = await db.query('SELECT * FROM subjects where id_enrollment = ?', [id_enrollment]);

  console.log(enrollment,subjects);
  res.render('list', {enrollment,subjects});
});

第一个没有任何问题。

const enrollment = await db.query ('SELECT * FROM enrollment where enrollment.id_school =?', [id_school]);

但是第二个查询我没有得到结果。

const subjects = await db.query ('SELECT * FROM subjects where id_enrollment =?', [id_enrollment]);

知道如何传递最后一部分的值

license_id =? ', [id_enrollment]

我尝试了以下方法,我不知道我可能错在哪里。

const subjects = await db.query ('SELECT * FROM subjects where id_enrollment =?', + [id_enrollment]);

const subjects = await db.query ('SELECT * FROM subjects where id_enrollment =?', [req.body.id_enrollment]);

const subjects = await db.query ('SELECT * FROM subjects where id_enrollment =?', + req.body.id_enrollment);

最佳答案

1 - id_enrollment 是否已设置? (我的意思是你首先验证它是否为空或未定义?)

2 - 在第一个 sql 中,您在 where 条件 'enrollment.id_school = ?' 中指定了表不在第二个“id_enrollment = ?”中

3 - 您可以尝试通过这种方式连接 id_enrollment 值:

db.query('SELECT * FROM subjects where id_enrollment =' + mysql.escape(id_enrollment))

4 - 你提到了license_id,但我在你的sql中没有看到它

关于mysql - 在 Node JS Handlebars JS MySql 中发送值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57484424/

相关文章:

mysql - 左连接与内连接相结合,不返回左表中的所有行

java - 有时在 c3p0 中连接不可用

node.js - Mongoose 唯一验证器的行为与其他验证器不同

javascript - 缺少字段的 Handlebars 输出为空

php - 我不知道如何编写 sql 查询来显示我想要的信息

Python打印函数使用mysqlcursor覆盖第一个字符

html - 如何使用 jstransformer-scss 和 pug-cli 将 SCSS 嵌入到 Pugjs 模板中?

javascript - Mongoose 错误: The `uri` parameter to `openUri()` must be a string

javascript - 所有 View 逻辑都应该放在模板中吗?

javascript - Handlebars 多选助手