首页 > 解决方案 > 在nodejs中编写多个sql查询

问题描述

我想显示数据库中两个表中的所有值并将其显示为 console.log。如果我在 var sql 中编写单个查询并将其显示为 console.log(results) 它可以工作,但不适用于多个查询。

 var express = require('express');
    var app = express();

    let mysql = require('mysql')

    let connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: '',
        database: 'pitch_perfect_db2',
        multipleStatements: true
    })


    app.get('/',(req, res) => {
        connection.connect();
        var sql = 'SELECT * FROM investors?; SELECT * FROM member_info?;'
        connection.query(sql, function(err, results, fields){
            if (!err) {
                // res.send(JSON.stringify(results[0]));
                // res.send(JSON.stringify(results[1]));
                console.log('hey');
                //console.log(results);
                console.log(results[0]);
                console.log(results[1]);

            }   else{
                console.log('Error while performing query.');
            }
        });
        connection.end();
    })

    //app.listen(port, () => console.log('Server Started pn port ${port}'));
    app.listen(3002);

标签: mysqlsqlnode.jsreactjs

解决方案


我能够让它工作,但我必须做两件事:

首先,我重命名表以删除问号,因为它总是被转换为“1”,并且表名不再与数据库中的内容匹配。

其次,我在connection.query() 中添加了一个数组。之后它工作得很好。

更多信息在这里

var express = require('express');
var app = express();

let mysql = require('mysql')

let connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'pitch_perfect_db2',
    multipleStatements: true
})


app.get('/',(req, res) => {
    connection.connect();
    var sql = 'SELECT * FROM investors; SELECT * FROM member_info;';
    //var sql = 'SELECT * FROM investors;';
    connection.query(sql, [1, 2], function(err, results, fields){
        if (!err) {

            res.send(JSON.stringify(results[0]) + JSON.stringify(results[1]));

            console.log('hey');
            //console.log(results);
            console.log(results[0]);
            console.log(results[1]);

        }   else{
            console.log('Error while performing query.');
            console.log(err);
        }
    });
    connection.end();
})

//app.listen(port, () => console.log('Server Started pn port ${port}'));
app.listen(3002);

推荐阅读