使用nodeJS未在MariaDB中调用嵌套查询

问题描述 投票:0回答:1

这是我使用MySQL和NodeJS的第一个项目,我已经习惯了Mongo,所以我可能会在这里做些蠢事。本地一切正常(使用MySQL)但是当我将以下代码部署到我的托管(使用MariaDB)时,只有父查询插入到表(引导)中。另一个表保持空白。另一个问题是我在部署时无法访问NodeJS日志,但据我所知,嵌套查询永远不会被调用。

var mysql     = require('mysql');

global.db     = mysql.createPool({
  host      : 'localhost',
  user      : 'client',
  password   : '******',
  database   : 'db'
});

router.post('/', function(req, res){
    const d     = req.body
    let subscribe = (d.subscribe ? 1 : 0)

    global.db.getConnection((err, conn) => {
        if (err) {
            res.end(JSON.stringify(err));
        } else {

                let lead    = [null, d.voornaam, d.achternaam, d.email, d.postcode, d.opmerkingen, d.soort, subscribe]
                let sql     = 'INSERT INTO leads VALUES ?';
            conn.query(sql, [[lead]], (err, results) => {
                if (err) {
                    res.end(JSON.stringify(err));
                    conn.release();
                } else {
                    const lead_id = results.insertId
                    d.types.forEach(w => {
                        let wens = [null, lead_id, w.woningType, w.slaapkamers, w.prijs, w.oplevering]
                        let sql     = 'INSERT INTO wensen VALUES ?';
                        conn.query(sql, [[wens]], (err, results) => {
                            if(err) {
                                res.end(JSON.stringify(err));
                                conn.release();
                            }
                        })
                    })

                    res.end('True');
                    conn.release();
                }
            })
        }
    })
});
mysql node.js mariadb
1个回答
0
投票

检查语法。注意事项:

'INSERT INTO leads VALUES (?)'

这不能告诉你吗?

if (err) { res.end(JSON.stringify(err)); ... }
© www.soinside.com 2019 - 2024. All rights reserved.