这是我使用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();
}
})
}
})
});
检查语法。注意事项:
'INSERT INTO leads VALUES (?)'
这不能告诉你吗?
if (err) { res.end(JSON.stringify(err)); ... }